SLOW but STEADY
리눅스 파일시스템 적용, 마운트(mount) 본문
파일 시스템 적용하는 법
mkfs.xfs(파일 시스템) /dev/sdb1(파티션)
포맷하고 싶을 때는 f옵션을 쓰면 됩니다. -> mkfs.xfs -f /dev/sdb1
extended partition은 데이터를 저장하는 파티션이 아니기 때문에 파일 시스템이 필요가 없습니다. 그래서 파일 시스템을 지정해 줄 수 없습니다. 하지만 logical partition과 primary partition은 데이터를 저장하는 파티션이기 때문에 파일 시스템을 지정해 줄 수 있습니다.
blkid명령어
우리가 가지고 있는 블록 장치들에 대한 정보를 볼 수 있습니다. 우리가 지정해준 파일 시스템을 볼 수 있습니다.
lkblk명령어
장치별로 나눠서 볼 수지난 번 파티션에 대한 글을 업로드할 때 만들어 놓았던 30GB짜리 하드디스크입니다.
sdb하드디스크를 sdb1, sdb2, sdb3, sdb4, sdb5, sdb6으로 파티션을 나눴을 때의 모습입니다.
마운트 하기
cp /etc/inittab /dev/sdb1/inittab
/dev/sdb1이 디렉터리가 아니기 때문에 복사할 수 없다고 나옵니다. 파티션을 디렉터리로 만들어 줘야 합니다. 이렇게 파티션을 데이터를 저장할 수 있는 디렉터리로 만드는 행위를 '마운트'라고 합니다.
mkdir /mp1
mount /dev/sdb1 /mp1
/mp1디렉터리와 /dev/sdb1파티션을 마운트 줍니다.
df -h
마운트 연결 정보를 볼 수 있습니다.
cp /etc/inittab /mp1
마운트를 해줬더니 이제는 복사가 가능합니다.
ls -l /mp1
/mp1디렉터리에서 확인 가능합니다.
umount /dev/sdb1 or umount /mp1
umount는 마운트를 해제하는 명령어입니다. /mp1디렉터리 안에 들어와 있을 때 umount를 할 경우는 마운트가 해제되지 않습니다. 마운트를 해제할 디렉터리에서 나간 다음 마운트 해제를 진행해야 합니다.
ls -l /mp1
마운트를 해제한 뒤 /mp1디렉터리 안을 살펴보니 우리가 추가해준 inittab파일이 보이지 않습니다.
mkdir /mp2
mount /dev/sdb1 /mp2
ls -l /mp2
mp2디렉터리와 마운트를 해줬더니 inittab파일이 잘 보입니다. 이 말은, 장치(dev/sdb1) 안에 파일이 저장된다는 말입니다.
umount /mp2
mkdir /mp3 /mp4 /mp5
mkfs.xfs /dev/sdb2
mkfs.xfs /dev/sdb3
mkfs.xfs /dev/sdb5
mkfs.xfs /dev/sdb5
mount /dev/sdb1 /mp1
mount /dev/sdb2 /mp2
mount /dev/sdb3 /mp3
mount /dev/sdb5 /mp4
mount /dev/sdb6 /mp5
df -h
확인해봅니다.
cp /etc/fstab /backup
vi /etc/fstab
파일을 열고 맨 마지막에 밑의 내용을 추가시켜 줍니다.
/dev/sdb1 /mp1 xfs defaults 0 0
/dev/sdb2 /mp2 xfs defaults 0 0
/dev/sdb3 /mp3 xfs defaults 0 0
/dev/sdb5 /mp4 xfs defaults 0 0
/dev/sdb6 /mp5 xfs defaults 0 0
/etc/fstab파일은 오토 마운트 할 때에 필요한 파일입니다. 장치들을 파일에 추가함으로써 오토 마운트를 시켜줍니다.
마운트와 오토 마운트의 차이점은 마운트의 경우는 가상 머신을 재부팅하면 마운트 했던 것들이 날아가는데
오토 마운트는 재부팅을 해도 마운트 정보가 그대로 남아있습니다.
추가 내용 중 0 0 부분이 있는데 여기서 앞의 0은 dump필드라고 합니다. CentOS7 전에는 이 부분을 1이라고 적어주면
오토 마운트가 가능했는데 지금은 지원해주지 않는 기능이어서 0으로 채우고 있습니다.
dump란 컴 데이터를 유지하는 기능을 말합니다.
만약, /etc/fstab파일에서 오타가 났다면??
오타를 냈다는 가정하에 /etc/fstab파일 뒤에
/dev/sdc1 /test xfs defaults 0 0
을 추가해봅시다.(우리는 /dev/sdc1라는 장치가 없는 상태입니다.)
재부팅을 시켜보면 부팅이 안될 것입니다.
이 화면에서 e버튼을 눌러서 편집 모드로 들어갑니다.
ro를 rw로 바꾸고 auto뒤에 init=/bin/bash를 추가해줍니다.
Ctrl + x버튼을 눌러서 재부팅합니다.
그러면 복구 모드로 접속하게 됩니다.
복구 모드에서, vi /etc/fstab에 들어가셔서 오타를 냈던 /dev/sdc1에 대한 내용을 지웁니다.
저장하고 나온 다음, /sbin/reboot -f을 입력해 재부팅시켜줍니다.
그러면 복구가 될 것입니다!!
'2020 AWS기반 아키텍처 설계 전문가 양성 과정 > 리눅스' 카테고리의 다른 글
리눅스 원격접속 서비스(1) - Telnet (0) | 2020.03.06 |
---|---|
리눅스 grub편집기(복구모드) 접근 계정 제한하기 (0) | 2020.03.04 |
리눅스 커널(kernel) - 정의, 기능, 버전 관리(업데이트, 다운그레이드) (0) | 2020.03.04 |
파티션(Partition) - Primary Partition, Extended Partition, Logical Partition (0) | 2020.03.02 |
하드디스크(HDD) 구조 (0) | 2020.03.02 |