티스토리 뷰
기본 스토리지를 파일시스템으로 마운트하는 방법과 SWAP공간을 관리하는 방법에 대해 설명합니다.
Disk의 사용현황을 보는 명령들은 아래 글에 잘 정리되어 있습니다.
파티션 생성, 파일시스템 생성, 마운트
1. 파티션 생성
파티션의 스키마에는 MBR(Master Boot Record)와 GPT(GUUID Partition Table)가 있습니다.
구분 | MBR | GPT |
최대 파티션 갯수 | 15 | 128 |
최대 용량 | 2TB | 80억 TB |
파티션을 생성하는 명령은 parted, fdisk, gdisk가 있습니다.
parted는 MBR과 GPT 타입 모두 생성할 수 있으나, 사용법이 약간 어렵습니다.
fdisk는 MBR타입 전용이고, gdisk는 GPT타입 전용입니다.
그럼, 각각의 명령어를 사용하여 partition 3개를 만들어 보겠습니다.
- 디바이스 리스트를 확인합니다.
vda, vdb, vdc, vdd 4개가 있습니다.
$ lsblk
1) Parted로 파티션 만들기
- vdb 디바이스에 파티션을 만듭니다.
parted로 MBR타입의 파티션을 만듭니다. mklabel msdos라고 하면 됩니다.
$ parted /dev/vdb mklabel msdos
parted로 GPT타입의 파티션을 만듭니다. mklabel gpt라고 하면 됩니다.
파티션타입을 바꾸면 기존의 파티션은 모두 사라집니다.
$ parted /dev/vdb mklabel gpt
parted가 사용이 약간 까다로운건 Start와 End의 위치를 지정할때 계산이 필요하기 때문입니다.
아래와 같이 print명령으로 현재 파티션을 보고 시작과 끝 위치를 계산해야 합니다. fdisk나 gdisk는 자동으로 계산해 줍니다.
TIP: 한줄 명령으로 파티션을 만들 수도 있습니다.
주의할 건 MBR로 만들때는 mkpart <primary or extend> ... 이고, GPT는 mkpart <Partion name>이라는 것입니다.
MBR 타입
$ parted /dev/vdb mkpart primary xfs 2048s 1001MB
GPT 타입
$ parted /dev/vdb mkpart mydata xfs 2048s 1001MB
2) fdisk로 파티션 만들기
- fdisk로 /dev/vdc에 파티션을 만듭니다.
3) gdisk로 파티션 만들기
- gdisk로 /dev/vdd에 파티션을 만듭니다.
gdisk를 먼저 설치해야 합니다. yum install -y gdisk로 설치하십시오. centos8에서는 dnf install -y gdisk로 설치합니다.
gdisk의 사용법은 fdisk와 유사합니다. gdisk는 디바이스의 현재 파티션테이블도 보여줍니다.
2. 파일시스템 만들기
- lsblk 만들어진 파티션 목록을 보고, mkfs.xfs <파티션>으로 파일시스템을 만듭니다.
Filesystem format이 ext4인 경우는 mkfs.ext4라고 하면 됩니다.
mkfs.ext4 /dev/vdc1
※ xfs vs ext4
ext4파일 시스템은 최대 16TB까지 지원합니다. 16TB 보다 큰 파일 시스템의 경우 xfs를 사용하는것이 좋습니다.
3. 마운트 시키기
- lsblk --fs 명령어로 각 파일시스템의 UUID를 구합니다.
- /etc/fstab 파일에 추가합니다.
각 컬럼의 의미는 UUID, 마운트할 디렉토리, 파일시스템유형, 디바이스옵션, dump명령 옵션, fsck실행순서입니다.
dump명령 옵션은 0으로 하면 됩니다.
fsck(file system check)는 OS부팅 시 실행순서인데, xfs는 수행을 안하므로 0이라고 합니다. ext4인 경우 primary는 1로, extend는 2로 하십시오.
ext4 파일 시스템인 경우 아래 예를 참조 하십시오.
# primary disk
UUID=xxxx /data ext4 defaults 0 1
# secondary disk
UUID=xxxx /data ext4 defaults 0 2
- mount -a 또는 mount <마운트 디렉토리>로 마운트 시킵니다. df -h 로 마운트 되었는지 확인합니다.
- systemctl daemon-reload하거나, rebooting한 후 마운트가 정상적으로 되어 있는지 확인합니다.
$ reboot
SWAP공간 관리
Swapping이란 ?
RAM 여유 공간이 없을 때 새로운 프로세스를 실행시키기 위해, 일부 프로세스를 디스크의 Swap공간으로 보냈다(Swap out)가 필요할 때 다시 RAM으로 갖고 오는(Swap in)하는 가상메모리 관리 기법입니다.
VMM(Virtaul Memory Management)은 프로세스 단위가 아닌 페이징 단위로 스와핑합니다.
swap공간 크기에 대한 가이드는 아래와 같습니다.
최대 절전 모드가 허용되면 OS정지 시 RAM의 모든 프로세스를 Swap공간에 저장하므로, 크기가 좀 더 커야 합니다.
Swap파티션 만들기, 포맷, Swap공간 활성화
- Swap공간을 만들 디바이스의 현재 파티션을 확인합니다.
- parted명령으로 'myswap'이라는 이름으로 swap파티션을 만듭니다. Filesystem 유형은 반드시 'linux-swap'이라고 합니다.
- Swap파티션의 format은 mkswap명령을 이용합니다.
- 영구적으로 swap공간을 할당하기 위하여 /etc/fstab에 추가합니다.
마운트할 디렉토리와 파일시스템 유형은 반드시 'swap'이라고 합니다.
- daemon을 재시작하고, swapon -a 명령으로 /etc/fstab에 지정한 swap공간을 활성화 시킵니다.
swap관련 명령어
- swap공간 활성화: swapon <swap공간명>. 예) swapon /dev/vdd2
- swap공간 보기: swapon -s OR swapon --show
- swap 사용가능 크기 보기: free
- swap공간 비활성화: swapoff <swap공간명> 예) swapoff /dev/vdd2
swap공간의 우선순위 지정하기
swap공간이 여러개인 경우 우선순위를 지정할 수 있습니다. /etc/fstab에 옵션을 defaults대신에 pri=<우선순위값>으로 지정하십시오.
defaults로 지정한 swap공간의 우선순위 값은 -2입니다. 우선 순위값이 높을 수록 먼저 swap공간으로 사용됩니다.
- /dev/vdd에 swap파티션 하나를 더 만들고, 포맷합니다.
- /etc/fstab에 추가합니다. 이 공간을 먼저 swapping시 사용하기 위해 우선순위를 높입니다.
- 리부팅합니다. systemctl daemon-reload로는 적용되지 않습니다.
- swapon -s 로 확인합니다.
'Infrastructure > OS' 카테고리의 다른 글
Red Hat System Administration II: Stratis & VDO (0) | 2020.08.28 |
---|---|
Red Hat System Administration II: Logical Volume 관리 (0) | 2020.08.27 |
Red Hat System Administration II: SELinux 보안 관리 (0) | 2020.08.25 |
Red Hat System Administration II: File ACL (0) | 2020.07.22 |
Red Hat System Administration II: System 성능 튜닝 (0) | 2020.07.21 |
- Total
- Today
- Yesterday
- 스포티파이
- 육각형인간
- AXON
- 리퀴드폴리탄
- 분초사회
- API Composition
- SAGA
- 돌봄경제
- agile
- 마이크로서비스 패턴
- 디토소비
- micro service
- 요즘남편 없던아빠
- 스핀프로젝트
- 버라이어티가격
- 호모프롬프트
- 애자일
- 도파밍
- 마이크로서비스
- spotify
- Event Sourcing
- CQRS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |