LFCS — 리눅스 재단 시스템 관리자 · 스토리지를 손으로 — LVM·fstab·swap·NFS·autofs · 퀴즈
퀴즈: 스토리지를 손으로
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
`lvextend -L +300M /dev/vg_lfcs/lv_data` 를 실행했다. `lvs` 는 900M 을 보여 주는데 `df /srv/data` 는 그대로다. 원인은?
- 마운트를 풀고 다시 붙여야 lvextend 가 반영된다
- LV 층만 커졌고 그 위의 ext4 는 아직 모른다. resize2fs 가 필요하다
- fstab 의 크기 필드를 함께 고쳐야 df 가 갱신된다
- VG 에 PV 를 하나 더 넣어야 확장이 완료된다
fstab 의 첫 필드에 `/dev/loop3` 대신 `UUID=…` 를 적는 이유로 옳은 것은?
- UUID 로 적어야 mount -a 가 systemd 를 거치지 않고 더 빨리 붙는다
- UUID 를 쓰면 dump 와 pass 필드를 생략할 수 있어 줄이 짧아진다
- 루프 장치는 UUID 로만 마운트할 수 있고 경로로는 마운트가 거부된다
- 장치 이름은 부팅 순서에 따라 바뀔 수 있지만 UUID 는 파일시스템에 새겨져 있어 바뀌지 않는다
`/etc/exports` 에 `/srv/share 127.0.0.1 (rw,sync,no_subtree_check)` 라고 적었다(클라이언트와 괄호 사이에 공백). 결과는?
- 127.0.0.1 에만 rw 로 내보내진다. 공백은 무시된다
- 문법 오류라 exportfs -ra 가 그 줄을 거부한다
- 127.0.0.1 은 기본 옵션(읽기 전용)이 되고, rw 옵션은 모든 클라이언트에 적용된다
- 공백 뒤의 옵션은 주석으로 처리되어 옵션 없이 내보내진다
`/etc/exports` 를 고쳤는데 `exportfs -v` 에 새 항목이 없고 클라이언트 마운트도 거부된다. 가장 먼저 할 일은?
- nfs-common 을 다시 설치해 클라이언트 쪽 캐시를 비운다
- 클라이언트에서 mount -o vers=3 으로 낮춰 다시 시도한다
- /srv/share 의 권한을 777 로 바꾼다
- exportfs -ra 로 서버가 파일을 다시 읽게 한다
스왑 파일을 만들 때 `chmod 600` 을 하는 이유는?
- swapon 이 실행 권한이 있는 파일을 거부하기 때문이다
- 600 이 아니면 fstab 의 swap 타입 줄이 파싱되지 않는다
- 스왑에는 메모리의 사본이 들어가므로 다른 사용자가 읽을 수 있으면 안 된다
- 권한이 넓으면 커널이 그 파일을 희소 파일로 취급해 스왑 크기가 0 이 된다
autofs 맵을 쓰고 `ls /nfs/share` 를 했더니 `findmnt /nfs/share` 의 SOURCE 가 `127.0.0.1:/srv/share` 가 아니라 `/dev/vda1[/srv/share]` 로 보인다. 이 상태는?
- 정상이다. 서버가 자기 자신이면 autofs 는 NFS 대신 bind 마운트로 붙인다(nobind 로 막을 수 있다)
- 맵의 -fstype 이 무시된 것이다. 맵 파일의 문법 오류를 찾아야 한다
- nfs-server 가 죽어서 autofs 가 로컬 디렉터리로 대체한 것이므로 서버를 재시작해야 한다
- 커널이 NFS 모듈을 못 찾은 것이므로 modprobe nfs 가 필요하다