RHEL6 --> CentOS 7에서 업그레이드 중입니다. 해당 호스트의 운영체제는 /dev/sda에 위치하며, /dev/sdb, /dev/sdc에는 보조 데이터 드라이브가 있다. 킥스타트 설치를 실행할 때 분명히 /dev/sda(이전 OS)의 내용을 새 OS로 덮어쓰길 원합니다.
지금 /dev/sda라면 킥스타트 환경에서는 /dev/sda가 될 것입니다. 하지만 이것이 100% 신뢰할 수 있는 보장은 아니라는 글을 어디선가 읽은 기억이 나는 것 같습니다.
현재 /dev/sdb 또는 /dev/sdc라고 불리는 것이 킥스타트 환경에서 /dev/sda로 결정되고 운영 체제에 의해 덮어쓰여진다면 그것은 엄청난 비극이 될 것입니다.
kickstart가 특정 드라이브에 OS를 설치하는지 확인하는 방법에 대한 제안 사항이 있습니까?
내 추측으로는 kickstart 파일을 확인하여 /dev/sda에 루트 논리 볼륨의 "lv_root"와 같이 우리가 기대하는 LVM 엔터티가 포함되어 있는지 확인하는 것입니다. /dev/sda에 lv_root가 포함된 경우 /dev/sda에 실제로 올바른 드라이브가 할당되었다고 가정하고 계속 진행합니다.
답변1
kickstart 파일에서 다음을 찾고 있습니다.
ignoredisk --only-use=sda
sda
이렇게 하면 설치 시 다른 모든 디스크가 무시 됩니다 .
문자 sd
는 동일하게 유지되어야 합니다(사용된 SATA 포트에 따라 다름).하지만sd
이동식 미디어가 하드 드라이브 이전에 사용되었고 일반적으로 그렇게 인식되는 경우 sd*
(예: USB 드라이브에서 설치한 경우) 문자를 상쇄할 수 있다는 점은 주목할 가치가 있습니다 .
kickstart 에서 autopart
or 섹션도 지정하지 않으면 part
드라이브를 삭제하기 전에 설치가 일시 중지됩니다(파티션 방법을 묻는 메시지가 표시됩니다. kickstart/설치 시 다른 메시지가 표시되면 디스크가 즉시 삭제되지 않습니다). 여기에서 ++를 사용하여 TTY2로 전환하고 설치가 시작되기 전에 CTRL
드라이브를 마운트해 볼 수 있습니다 ALT
.F2
TTY2에는 무료 터미널이 있어 root
디렉토리를 생성하고, 마운트 sda#
하고, 탐색하여 파일이 있는지 확인할 수 있습니다.
디스크가 올바른 경우 TTY1로 돌아가서 설치를 계속할 수 있습니다.
이것kickstart에 대한 RHEL 문서이런 종류의 물건에는 금이 있습니다.
답변2
블록 장치 레이블 대신 디스크 uuid가 사용되도록 스크립트를 작성할 수 있다고 생각합니다. 예를 들어:
part / --fstype=ext4 --onpart=/dev/disk/by-id/ata-ST3160815AS_6RA0C882
. 최소한 이는 재부팅 시 일관성을 보장합니다.