예를 들어 다음은 내 /etc/fstab
의 첫 번째 줄입니다.
UUID=050e1e34-39e6-4072-a03e-ae0bf90ba13a / ext4 errors=remount-ro 0 1
다음은 df -h
명령 (사용 가능한 디스크 공간보고)의 출력입니다.
honey@bunny:~$ df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/vda ext4 30832636 4884200 24359188 17% / none tmpfs 4 0 4 0% /sys/fs/cgroup udev devtmpfs 498172 12 498160 1% /dev tmpfs tmpfs 101796 320 101476 1% /run none tmpfs 5120 0 5120 0% /run/lock none tmpfs 508972 0 508972 0% /run/shm none tmpfs 102400 0 102400 0% /run/user
-
둘 중에서
UUID=050e1e34-39e6-4072-a03e-ae0bf90ba13a
는 첫 번째 값이/dev/vda
임을 추론하는 것이 좋습니다.fstab
의 열은<file system>
입니까? -
그러면
/etc/fstab
을 (를) 이것으로 수정 했습니까?/dev/vda / ext4 errors=remount-ro 0 1
-
편집 : 예인 경우 (위의 질문에)
sudo blkid
명령이?
$ sudo blkid /dev/vda: LABEL="DOROOT" UUID="6f469437-4935-44c5-8ac6-53eb54a9af26" TYPE="ext4"
여기서 제가 무엇을 놓치고 있습니까?
답변 : 저는 (3) 호스트 클라우드의 버그라고 결론을 내 렸습니다. 예,
blkid
(또는ls -l /dev/disk/by-uuid
)에서보고 한 UUID는 .
댓글
답변
장점 UUID를 사용하는 것은 운영 체제가 하드 디스크에 제공하는 실제 장치 번호와 독립적이라는 것입니다.
시스템에 다른 하드 디스크를 추가하고 어떤 이유로 OS에서 이전 디스크가 iv id = “66d5325006이 아닌 sdb
라고 결정한다고 가정 해보십시오. “>
.
fstab
가 장치 이름을 가리키면 부팅 프로세스가 망가질 수 있습니다. 그러나 UUID의 경우 괜찮습니다.
UUID에 대한 자세한 정보는 블로그 게시물 “UUIDs and Linux : Everything you 알고 있어야합니다. “
댓글
- 예. 새 디스크를 추가하지 않아도 커널은 하루에 두 개의 드라이브 ' dev 마운트를 교체하기로 결정할 수 있습니다. wiki.archlinux.org/index.php/Persistent_block_device_naming
- 이미지를 다른 디스크에 복제하려면 어떻게됩니까? 다른 UUID?
- ' UUID가 덜 유용한 상황이 하나 이상 있습니다. 전체 디스크를 복제 한 다음 재부팅하면 파티션이 마운트 될 수 있습니다. 디스크 또는 잘못된 디스크에서.
- ' 사실입니다. 링크 된 블로그 게시물을 확인하세요. 사용하지 않는 섹션도 있습니다.
- 디스크를 복제하는 경우 새 디스크에서 UUID를 변경해야합니다. tune2fs xfs_admin 또는 reiserfstune은 파일 시스템에 따라이를 수행 할 수 있습니다.
을 참조하십시오.
답변
이 경우 / etc / fstab을 이것으로 수정할 수 있습니까?
당신은 할 수 있습니다 . 아마 괜찮지 만 UUID를 떠나는 것이 더 낫습니다.
UUID 는 임의의 문자열입니다. 이 경우 블록 장치의 파티션을 식별하는 데 사용됩니다. 파티션 자체와 함께 저장되며 원하는 경우 다른 주소를 할당 할 수 있습니다 (일종의 MAC 주소).
UUID를 사용하는 이점은 틀림없는 반면 /dev/vda
는 그렇지 않습니다. 문맥 상 완전히 이론적 일 수 있지만 (예 : 특정 유형의 드라이브가 하나만 있기 때문에) 부팅시 다른 드라이브가 될 수도 있습니다 .
장치 이름을 사용하여 문제가 발생할 수있는 또 다른 미묘한 예는 최근 일부 시스템에서 일관된 네트워크 장치 이름 을 사용하는 것입니다. 이것이 업그레이드로 발생하고 네트워크 스크립트 어딘가에 하드 코딩 된 장치 이름을 사용하면 손상됩니다. 병렬 예제 WRT 블록 장치는 이름 지정 체계를 변경하는 커널 또는 udev 업그레이드 일 수 있습니다.
UUID의 한 가지 요점은 이러한 종류의 일을 가능하고 고통없이 만드는 것입니다. 따라서 장치 이름을 사용할 수는 있지만 다른 드라이브를 교체하는 시스템이 만 있다면 그렇게해도 이점이 없습니다. 즉, 그렇게 할 이유가 없습니다. UUID를 고수 하세요.
댓글
- 좋습니다.
/etc/fstab
에서/dev/vda
의 다른 UUID를 설명하고blkid
에서보고 한 것은 무엇입니까? (참조 업데이트 된 질문 (' t.) - 업데이트를 요청하는 대신 별도의 질문으로 질문해야합니다 (" 마운트 된 파티션 UUID가 fstab의 파티션 UUID와 다른 이유는 무엇입니까? ").
Answer
man fstab
를 수행하면 /etc/fstab
파일. 내 x86에서 상당히 최신의 Arch Linux 서버 인 man fstab
다음과 같습니다.
The second field ... describes the mount point for the filesystem.
예, /dev/vda
는 분명히 일부 장치의 여러 이름 중 하나입니다. 두 이름이 모두 “/”에 마운트 된 것처럼 보이기 때문에 UUID=050e1e34-39e6-4072-a03e-ae0bf90ba13a
입니다.
/dev/disk/by-uuid/
내 서버에서 /dev/sda1
, /dev/sdb1
와 같은 것을 가리키는 심볼릭 링크를 볼 수 있습니다. 이것은 가설을 확인하는 또 다른 방법 일 수 있습니다. /dev/disk
에는 하위 디렉토리가 있습니다. by-id
, by-path
, by-uuid
는 모두 동일한 기기의 대체 이름으로 보입니다.
댓글
- 이 경우 문제 (제 질문에서 업데이트 됨)
/dev/vda
에 대해 두 개의 서로 다른 UUID를 얻는 것입니다! 질문을 한 번 더 확인하세요. - 원래 질문에 답변했다면 " 답변 됨 새 질문을 작성하여 ' 수정 된 질문이 아니라 원본과 작동하는 관련없는 답변을 수집하지 않도록합니다.
sudo blkid
명령.sudo blkid
명령은/dev/vda
에 대해 다른 UUID를 출력합니다. 이것은 내 혼란을 더합니다. 🙂 (업데이트 된 질문.)' vda 이후 기본 VM 인프라가 변경된 것이 아닐까요?
lrwxrwxrwx 1 root root 9 Jun 18 11:04 6f469437-4935-44c5-8ac6-53eb54a9af26 -> ../../vda
. 다른 질문에 대해서는 ' 웹 호스트에게 연락하겠습니다.