
저는 개발 중인 Amazon EC2 인스턴스에서 Fedora를 실행하고 있습니다. 저는 최근 Fedora 8에서 Fedora 15로 옮겼습니다. "cat /etc/fstab"을 수행할 때 Fedora 15에서 다음이 표시되는 것을 발견했습니다.
LABEL=79d3d2d4 / ext4 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
이전 Fedora 8 인스턴스에서 "cat /etc/fstab"을 실행하면 다음이 표시됩니다.
/dev/sda1 / ext3 defaults 1 1
/dev/sda2 /mnt ext3 defaults 0 0
/dev/sda3 swap swap defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
Linux를 이해하면서 루트 드라이브는 항상 /dev/sda1에 있다고 생각했습니다. 따라서 Fedora 8 fstab은 나에게 의미가 있습니다.
Fedora 15 파일 시스템이 왜 다른가요? /dev/sda1이 루트로 마운트되지 않은 이유는 무엇입니까? Fedora 15에서는 /mnt와 /swap이 어디로 갔나요? Fedora 15에는 아무런 문제가 없지만 변경 사항을 이해하고 더 나은 교육을 받으려고 노력하고 있습니다.
답변1
첫 번째 항목은 sda1
; 동일한 디스크가 항상 sda1
가정한 것과 다를 수 있으므로 레이블이나 UUID를 사용하는 것이 이제 표준입니다 . 예를 들어, 커널을 업그레이드했는데 드라이버의 작은 변경으로 인해 디스크 컨트롤러 드라이버가 새로운 순서로 로드된다고 가정해 보겠습니다. 갑자기 sda
예전의 모습이 sdb
되고 그 반대의 경우도 마찬가지입니다. 또 다른 예로, 연결된 USB 장치는 마지막으로 삽입했을 때 사용한 것과 동일한 드라이브가 아닌 다음 사용 가능한 드라이브를 사용합니다. UUID 또는 레이블 매핑을 사용하면 특정 USB 드라이브에 대한 마운트 지점을 생성할 수 있습니다.
스왑 및 /mnt 정보: 스왑 또는 /mnt 볼륨이 연결되어 있지 않습니다. Amazon EC2 이미지를 사용하는 경우 다음 사항을 살펴봐야 합니다.이 조회 차트. 인스턴스와 함께 제공되는 임시 스토리지가 나열됩니다(무료!). 사용하는 인스턴스 유형에 스왑 또는 /mnt 볼륨이 표시되면 fstab에 추가하세요.
/mnt
스왑은 메모리 캐싱을 위한 반면 일반 저장 공간입니다. 스왑 없이 앱 성능이 저하되는 경우 다음과 같이 로컬 파일을 추가할 수 있습니다.
dd if=/dev/zero of=/swapfile bs=1024 count=`echo ${NUM_MEGS}*1024|bc`
mkswap /swapfile
echo /swapfile swap swap defaults 0 0 >> /etc/fstab
답변2
루트 드라이브는 반드시 /dev/sda1일 필요는 없으며 유닉스 파일 시스템에 유연성을 제공하는 어떤 것이든 될 수 있습니다.
F8 인스턴스가 수행한 방식으로 이를 수행할 때의 문제점은 장치 이름이 SCSI ID(또는 BUS 순서)에 따라 지정된다는 것입니다. 예를 들어, ID가 4인 SCSI 드라이브가 있고 이것이 시스템의 유일한 드라이브라고 가정해 보겠습니다. 그러면 /dev/sda가 표시되고 모든 것이 작동합니다. 이제 새 드라이브를 추가하려고 하는데 SCSI ID 3으로 설정됩니다. 이제 새 드라이브는 /dev/sda가 되고 이전 드라이브는 /dev/sdb가 되며 fstab의 모든 값은 유효하지 않습니다.
드라이브에 레이블을 지정하고 레이블별로 마운트하면 버스 순서가 무엇인지 상관하지 않을 수 있는 유연성이 제공되며 물리적 주소에 관계없이 항상 마운트됩니다. UUID에서도 동일한 작업을 수행할 수 있습니다. 을 수행하여 해당 값을 볼 수 있습니다 tune2fs -l /dev/sda
. 레이블이 붙은 항목이 실제로 /dev/sda1을 마운트하고 있을 수도 있습니다.
답변3
Linux에는 영구 이름 지정을 위한 다양한 체계가 있습니다.
- 장치 이름: /dev/sd[abc]x
- LABEL: 파일 시스템의 레이블
- UUID: 각 파일 시스템의 고유 식별자
다음을 통해 확인 blkid
하거나 살펴볼 수 있습니다 /dev/disk
.
# blkid /dev/sda3
/dev/sda3: LABEL="/" UUID="dfe84dbf-d7fd-4038-872c-6dfc31f0be6f" TYPE="ext3" SEC_TYPE="ext2"
# ls -lF /dev/disk/by-label/
total 0
lrwxrwxrwx 1 root root 10 May 10 15:02 boot -> ../../sda1
lrwxrwxrwx 1 root root 10 May 10 15:02 SWAP-sda2 -> ../../sda2
# ls -lF /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 May 10 15:02 588a12e5-a032-43e7-a21c-99a1ddacd6fb -> ../../sda1
lrwxrwxrwx 1 root root 10 May 10 15:02 dfe84dbf-d7fd-4038-872c-6dfc31f0be6f -> ../../sda3
swap
설치 시 파티션이 존재할 수도 있고 존재하지 않을 수도 있습니다.