[Centos 7] Creating Filesystem & Mount, Auto mount (파일 시스템 생성 & 마운트, 오토마운트)

2022. 11. 23. 14:44리눅스(Linux)

$ fdisk

# fdisk -l 
   - 시스템에 연결된 디스크 정보 확인

# fdisk -l /dev/sda 
   - 특정 디스크 정보 확인

# fdisk /dev/sdb 
   - 디스크 파티션 구성하기

q → 저장하지 않고 나가기
w → 저장하고 나가기
m → 도움말
n → 파티션 추가
d → 파티션 삭제
p → 현재파티션 출력

 

Start → 2048번호 섹터 시작

End → 2099199번호 섹터 까지

Blocks → 크기 (ex- 204800=200M)

Id → System 고유 식별 Id
(ex- Linux = 83, Linux LVM = 8e, Extended=5)

 

lsblk → 전체 구조 확인하기

sr0 → cdrom

 

blkid → 파티션에 어떤 파일시스템이 탑재 되었는지 확인

UUID → 장비 구분 id

 

file system 생성 

mkfs, mke2fs 를 이용하여 원하는 파일 시스템을 생성 한다

# mkfs -t ext2 /dev/sdb1 
   - mkfs 를 이용하여 ext2 파일 시스템 생성

# mkfs -t ext3 /dev/sdb2 
   - mkfs 를 이용하여 ext3 파일 시스템 생성

# mke2fs /dev/sdb1 
   - mke2fs 를 이용하여 ext2 파일 시스템 생성
   
# mke2fs -j /dev/sdb2 
   - mke2fs 를 이용하여 ext3 파일 시스템 생성
   
# mkfs.(파일시스템 - xfs, ex4) /dev/sdb1 
   - mkfs 를 이용하여 xfs, ex4 파일 시스템 생성
   
# mkfs.xfs -f /dev/sdd 
   - 구성한 파티션은 지우고나서 디스크 포맷

Mount

$ What is Mount?

   - 파일 시스템 구조 내에 있는 일련의 파일들을 사용자나 사용자 그룹들이 이용할 수 있도록 만드는 것
   - 리눅스 환경에서 “mount”라는 명령은 논리적으로 디스크와 디렉터리를 붙이는 것을 말함
   - 지역이나 원격으로 행해질 수 있으며, 지역 마운트는 하나의 논리적 시스템으로서 행동하도록 여러대의 디스크 드라이브들을 하나의 컴퓨터 상에 접속한다
   - 원격 마운트는 다른 컴퓨터 상의 디렉터리들에 접속하기 위해 NFS(Network File System) 을 사용한다

 

$ 파일 시스템 사용하기
   - Windows시스템에서는 파티션을 생성하면 자동으로 "드라이브명" 이라고 하는 특정문자에 자동으로 연결되어 지지만 Unix/Linux는 관리자가 직접 파티션을 특정 문자(디렉터리) 에 연결하여야 되는데 그것을 마운트라 한다.

 

$ 파일시스템의 마운트와 언마운트
   - 리눅스에서는 파티션을 연결하는데 두 가지 방법이 있다.
   - mount 명령어를 통해 수동으로 연결하는 방법
   - /etc/fstab 파일 내에 마운트할 항목을 추가하여 부트시에 자동으로 마운트 하는 방법
   - 파일시스템의 사용을 중지할때는 umount 명령어를 사용한다.

 

$ Mount 명령어 사용형식

# mount [ Opton ] [ Device ] [ Directory ]
 Option
 -a : /etc/fstab에 기술되어있는 모든 파일시스템을 마운트 한다. 
 -t : 파일시스템의 형식을 지정한다.
 -n : /etc/mtab 파일에 정보를 남기지 않고 마운트한다. 
 -o : -o [ Option ] 뒤에 콜론(",") 으로 다음 옵션을 사용할 수 있다.
 async : 파일시스템에 대한 I/O가 비동기적으로 이뤄지도록 한다.
 defaults : rw, suid, dev, exec, auto, nouser, async를 기본 옵션으로 사용한다.
 nosuid : SetUID, SetGID를 무시하게 된다.
 suid : SetUID, SetGID가 효력을 발휘할 수 있게 해준다.
 remount : 이미 마운트된 파일시스템을 다시 마운트 한다.

Ex)
# mount -t ext3 /dev/sda1 /test

 

 

$ umount : 장치연결 해제하기

# umount [ Option ] [ Device ] or [ Directory ]
   - 파일시스템의 연결을 해제하여 사용을 중지한다.
   
 Option
 -a : /etc/fstab에 기술되어있는 모든 파일시스템의 마운트를 해제할 때 사용하지만,정상적인 상황에서 실행해서는 안된다.
 -f : 강제로 연결해제 할때 사용할 수 있으며 NFS서비스에 연결되어있는 파일시스템을 연결해제 할 때 이용할 수 있다.

Ex)
# umount /dev/sda1
# umount /test

 

$ Mount 명령어 사용 예

# mount 
/dev/sda3 on / type ext3 (rw) 
proc on /proc type proc (rw) 
sysfs on /sys type sysfs (rw) 
devpts on /dev/pts type devpts (rw,gid=5,mode=620) 
/dev/sda6 on /usr type ext3 (rw) 
/dev/sda2 on /tmp type ext3 (rw) 
/dev/sda1 on /boot type ext3 (rw) 
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) 
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
   - 현재 마운트된 정보를 볼 수 있다
   
# mount -t ext3 /dev/sdb2 /mount_test 
   - 로컬 파일시스템 연결하기

# mount -o ro /dev/cdrom /mnt/cdrom 
   - CD-ROM 을 /mnt/cdrom 디렉터리에 연결

# mount -t nfs [IP:/EXPORT DIR] [LOCAL DIR] 
   - 원격 nfs 파일 시스템 마운트

# umount [DIR] / [Device Name] 
   - 마운트 해제

df -h → 마운트 확인

tmpfs, devtmpfs → 재부팅시 초기화되는 목록

/dev/mapper/ centos-root → 실제 저장되는 파티션 위치

Mounted on →  Mount 되는 위치, 파티션은 개별 디렉터리랑 연결해서 사용해야 함

 

 

File System Table

$ 부팅시 자동 마운트설정 (오토 마운트)

   - /etc/fstab 파일에서 설정 

   - 총 6개의 필드로 구성

LABEL=/boot /boot ext3 defaults 1 2
   - /etc/fstab 파일 예제
   
 LABEL=/boot : boot 디바이스를 의미
 /boot : 마운트될 디렉터리
 ext3 : 파일 시스템 타입
 Defaults: 자동 마운트 여부
 1 : dump 명령어에 의한 덤프가 필요한지에 대한 여부
 2 : fsck 프로그램이 재부팅시 파일 시스템 체크에 대한 여부를 지정하며 1은 
     root(/) 파일 시스템이, 2는 그밖의 파일 시스템이다

SWAP

   - 가상메모리를 만들어 SWAP공간 생성, RAM처럼 활용

   - 실제 RAM 과는 역할이 다름, 실제 RAM은 연산에 사용할 메모리 활용

 

파티션 위치 이름 or UUID, 연결할 디렉터리 위치,  파일시스템의 타입, 

defaults(Mount Option - nouser, rw, auto, exec, suid), quto (사용자 할당량 옵션, 필수 옵션아님), 0(덤프기능) 0(파일시스템체크기능) (xfs 타입에서는 고정 값)

 

File System Label

$ What is Filesystem Labels?

   - Label은 장치를 참조하는 방법중 하나이다
   - e2label 명령어를 통해 ext2/ext3 파일시스템의 라벨을 변경하거나 조회할 수 있다
   - e2label 명령어는 superblock 안에 label을 기록한다

 

# e2label /dev/sda1 
   - /dev/sda1 파티션의 라벨을 조회

# e2label /dev/sda1 bootsection 
   - /dev/sda1 파티션의 라벨을 설정

# mount LABEL=bootsection /boot 
   - 라벨을 이용한 mount