저는 IDE와 SATA 하드 드라이브가 모두 있는 오래된 하드웨어에 Gentoo Linux를 설치할 계획입니다. IDE 2개와 SATA 드라이브 1개가 연결되어 있으며 RAID를 계획하고 있습니다.
하지만 문제가 발견되었습니다. 부팅할 때마다 /dev/sda에 매핑된 하드 드라이브가 변경된다는 것입니다!
인터넷에서 답을 찾고 있어요. 내가 찾은영구 장치 이름해결책이 될 수 있습니다. 하지만 시스템 전체의 호환성 문제가 발생할까 봐 걱정되나요? 또한 를 사용할 수 없으면 (이름이 매우 길기 때문에) 불편 /dev/disk/by-label
하지만 가능 하지는 by-label
않은 것 같습니다 . 또한 BIOS를 사용하는 오래된 하드웨어의 경우/dev/sda
/dev/sdb
/dev/sda1
GPT가 아닌 MBR만 사용할 수 있습니다.. MBR 환경에서 디스크 레이블을 변경하는 방법은 무엇입니까?
반면, /dev/sda
부팅할 때마다 동일한 하드 드라이브에 매핑하는 것이 이상적인 솔루션이라고 생각합니다. 하드 드라이브에 "bootmap"이라는 파일을 저장하면 이를 수행할 수 있다고 상상해 보십시오. 그리고 "/sda"는 "bootmap" 파일에 기록됩니다. 시스템이 부팅될 때 "bootmap"에 "/sda"가 있으면 드라이브가 에 매핑되고, /dev/sda
"/sdb"가 있으면 에 매핑됩니다 /dev/sdb
. (그러나 나는 이것이 그다지 이상적이지 않을 수도 있다는 것을 알고 있습니다.)
그렇다면 /dev/sda
부팅 간 매핑 변경을 방지하는 방법은 무엇입니까?
대안으로 태그를 편집하는 좋은 방법도 있습니다. - 어디에도 호환성 문제가 없을 것이라는 점을 고려하면.
(PS - 어쨌든 인터넷에는 아직 해결책이 없습니다.)
답변1
대부분의 파일 시스템에는 고유한 값으로 설정할 수 있는 고유한 UUID와 태그가 있습니다. 이를 통해 /dev/disk/by-uuid
파일 시스템이 포함된 볼륨을 전달하거나 참조할 수 있습니다 /dev/disk/by-label
. 다른 유형의 볼륨(RAID, LVM 등)에도 일반적으로 이름이 있습니다. RAID 및 LVM 볼륨은 볼륨 연결 방식에 관계없이 물리 볼륨 내의 고유 식별자를 기반으로 구성됩니다. 따라서 디스크 자체를 참조해야 하는 필요성은 일반적이지 않습니다.
연결된 방식에 따라 디스크에 실제로 액세스해야 하는 경우 /dev/disk/by-id
또는 형식의 항목을 사용할 수 있습니다. 모든 하위 디렉터리는 다음으로 표시됩니다.BUS-SERIAL
BUS-NAME-SERIAL
/dev/disk/
우데브그런데 특히지속적인 저장 규칙.
또 다른 해결책은 아래에 자신만의 심볼릭 링크를 만드는 것입니다 /dev
. 이를 위해 udev 규칙을 작성할 수 있습니다. /etc/udev/rules.d/50-local-persistent-disks.rules
다음 규칙이 포함된 파일을 추가하세요 .
SUBSYSTEM=="block", ATTRS{model}=="Yoyodine HD9001", \
ATTRS{serial}=="123-456-789", \
SYMLINK+="myfancyname"
어떤 모드를 사용할 수 있는지 udevadm info -a /dev/sda
확인하려면 실행하세요 . …==…
여러 모드를 사용하는 경우 동일한 출력 블록에서 나와야 하며 다른 상위 장치의 모드를 혼합할 수 없습니다.
답변2
디스크 유형/모델에만 바인딩되는 /dev/disk/by-id/ 링크를 안전하게 사용할 수 있다고 생각합니다.
lrwxrwxrwx 1 root root 9 Jul 14 15:13 ata-Hitachi_HDS123456789_PVC1234567890 -> ../../sda
/dev/disk/by-path는 컨트롤러와 충돌할 가능성이 없습니다.
lrwxrwxrwx 1 root root 9 Jul 14 15:13 pci-0000:00:1f.2-ata-2 -> ../../sda
lrwxrwxrwx 1 root root 10 Jul 14 15:13 pci-0000:00:1f.2-ata-2-part1 -> ../../sda1
lrwxrwxrwx 1 root root 11 Jul 14 15:40 pci-0000:00:1f.2-ata-2-part10 -> ../../sda10
lrwxrwxrwx 1 root root 11 Jul 14 15:43 pci-0000:00:1f.2-ata-2-part11 -> ../../sda11
lrwxrwxrwx 1 root root 11 Jul 14 15:13 pci-0000:00:1f.2-ata-2-part12 -> ../../sda12
답변3
제 경우에는 홈 디렉터리(예: /home/username/Data)에 /dev/sdb(추가 HDD)를 마운트하여 문제를 해결했습니다. 하지만 /mnt 안에 /dev/sdb를 마운트하면 컴퓨터를 다시 시작할 때마다 sda와 sdb가 교체됩니다.