예를 들어 다음은 내 /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 
  1. 둘 중에서 UUID=050e1e34-39e6-4072-a03e-ae0bf90ba13a는 첫 번째 값이 /dev/vda임을 추론하는 것이 좋습니다. fstab의 열은 <file system>입니까?

  2. 그러면 /etc/fstab을 (를) 이것으로 수정 했습니까?

    /dev/vda / ext4 errors=remount-ro 0 1 
  3. 편집 : 예인 경우 (위의 질문에) 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는 .

댓글

  • sudo blkid 명령.
  • @AvinashRaj 흠, 이상하게도 sudo blkid 명령은 /dev/vda에 대해 다른 UUID를 출력합니다. 이것은 내 혼란을 더합니다. 🙂 (업데이트 된 질문.)
  • blkid 명령이 다른 UUID를 표시한다는 것은 좋은 신호가 아닙니다.`ls -l / dev / disk / by-uuid

    ' vda 이후 기본 VM 인프라가 변경된 것이 아닐까요?

  • @liquidat 다음은 제가 얻은 출력입니다. lrwxrwxrwx 1 root root 9 Jun 18 11:04 6f469437-4935-44c5-8ac6-53eb54a9af26 -> ../../vda. 다른 질문에 대해서는 ' 웹 호스트에게 연락하겠습니다.
  • ' fstab 항목이 잘못되어 시스템이 재부팅되지 않을 수 있습니다. 복제 된 디스크 일 수 있습니다. fstab에 제공된 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를 얻는 것입니다! 질문을 한 번 더 확인하세요.
  • 원래 질문에 답변했다면 " 답변 됨 새 질문을 작성하여 ' 수정 된 질문이 아니라 원본과 작동하는 관련없는 답변을 수집하지 않도록합니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다