예를 들어, 다음은 my 의 첫 번째 줄입니다 /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
명령이 에 대해 다른 UUID를 표시하는 이유는 무엇입니까/dev/vda
?$ sudo blkid /dev/vda: LABEL="DOROOT" UUID="6f469437-4935-44c5-8ac6-53eb54a9af26" TYPE="ext4"
내가 여기서 무엇을 놓치고 있는 걸까요?
답변:나는 (3)이 내 호스트 클라우드의 버그라고 결론을 내리고 싶습니다. 그렇습니다.
blkid
(또는ls -l /dev/disk/by-uuid
)에 의해 보고된 UUID는 에서 사용된 것과 동일해야 합니다/etc/fstab
.
답변1
UUID를 사용하면 운영 체제가 하드 디스크에 제공하는 실제 장치 번호와 독립적이라는 장점이 있습니다.
시스템에 다른 하드 디스크를 추가했는데 어떤 이유로 OS가 기존 디스크 sdb
를 sda
.
fstab
장치 이름을 가리키면 부팅 프로세스가 망가질 수 있습니다 . 그러나 UUID의 경우에는 괜찮습니다.
UUID에 대한 자세한 내용은 블로그 게시물에서도 확인할 수 있습니다."UUID와 Linux: 당신이 알아야 할 모든 것"
답변2
그렇다면 /etc/fstab을 이렇게 수정해도 되나요?
너~할 수 있다그리고 그럴 것이다아마괜찮습니다. 하지만 UUID를 떠나는 것이 더 나을 가능성이 높습니다.
UUID이 경우 블록 장치의 파티션을 식별하는 데 사용되는 임의의 문자열입니다. 이는 파티션 자체와 함께 저장되며 원하는 경우 다른 파티션을 할당할 수 있습니다(MAC 주소와 유사).
UUID를 사용하면 오류가 없다는 장점이 있습니다./dev/vda
않습니다. 그것~할 수 있었다부팅 시 다른 드라이브가 되는 경우가 있습니다. 그러나 이는 문맥상 완전히 이론적인 것일 수 있습니다(예: 특정 유형의 드라이브가 하나만 있기 때문에).
장치 이름을 사용하면 문제가 발생할 수 있는 또 다른 미묘한 예는 최근 일부 시스템에서 장치 이름을 사용하도록 전환한 것입니다.일관된 네트워크 장치 이름. 업그레이드로 인해 이런 일이 발생하고 네트워크 스크립트 어딘가에 하드코딩된 장치 이름을 사용한 경우 중단될 수 있습니다. 병렬 예제 WRT 블록 장치는 명명 체계를 변경하는 커널 또는 udev 업그레이드일 수 있습니다.
UUID의 한 가지 요점은 이러한 종류의 작업을 가능하고 고통스럽지 않게 만드는 것입니다. 그래서 당신이 동안~할 수 있다장치 이름을 사용하면 아무런 이점이 없습니다.~하지 않는 한(예) 다른 드라이브를 교체하는 시스템이 있습니다. 즉, 그렇게 해야 할 타당한 이유가 없다면UUID를 고수하라.
답변3
man fstab
파일 의 내용과 의미를 상당히 간결하게 읽을 수 있습니다 /etc/fstab
. 상당히 최신의 Arch Linux 서버인 내 x86에서는 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