일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- kubernetes
- Vision
- java
- Trino
- AWS
- JavaScript
- CVAT
- Kafka
- Python
- CSV
- Operating System
- tcp
- grafana
- zookeeper
- Spring
- log
- ip
- kubectl
- Network
- kubeadm
- EC2
- PostgreSQL
- jvm
- docker
- airflow
- helm
- Packet
- OS
- aws s3
- MAC address
- Today
- Total
JUST WRITE
120TB Disk EXT4로 포맷 본문
120TB Disk Ext4로 포맷
11개의 Disk를 RAID5로 묶여 있는 120TB Disk를 EXT4로 포맷을 시켜야 되는 미션이 생겼다.
대용량에 RAID5로 구성되어 있는 Disk 포맷은 처음이라 난감했었다.
이번 포스팅에서 한번 정리해보려 한다.
Disk 확인
해당 Disk는 xfs 타입이었다.
RAID 구성은 아래 명령어로 확인할 수 있다.
/dev/md2가 sdm1 ~ sdc1까지 총 11개 Disk를 RAID5로 묶인 것을 알 수 있다.
# RAID 구성정보들 확인
$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
...
md2 : active raid5 sdm1[11] sdl1[9] sdk1[8] sdj1[7] sdi1[6] sdh1[5] sdg1[4] sdf1[3] sde1[2] sdd1[1] sdc1[0]
117187512320 blocks super 1.2 level 5, 512k chunk, algorithm 2 [11/11] [UUUUUUUUUUU]
bitmap: 0/88 pages [0KB], 65536KB chunk
...
# 해당 Disk 상세 정보 확인
$ mdadm --detail /dev/md2
/dev/md2:
Version : ***
Creation Time : ************* 2022
Raid Level : raid5
Array Size : 117187512320 (109.14 TiB 120.00 TB)
Used Dev Size : 11718751232 (10.91 TiB 12.00 TB)
Raid Devices : 11
Total Devices : 11
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : *** 2023
State : clean
Active Devices : 11
Working Devices : 11
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : bitmap
Name : ***
UUID : ***
Events : ***
Number Major Minor RaidDevice State
* 8 * 0 active sync /dev/sdc1
* 8 * 1 active sync /dev/sdd1
* 8 * 2 active sync /dev/sde1
* 8 * 3 active sync /dev/sdf1
* 8 * 4 active sync /dev/sdg1
* 8 * 5 active sync /dev/sdh1
* 8 * 6 active sync /dev/sdi1
* 8 * 7 active sync /dev/sdj1
* 8 * 8 active sync /dev/sdk1
* 8 * 9 active sync /dev/sdl1
* 8 * 10 active sync /dev/sdm1
* 일부 중요정보는 *로 표시하였습니다.
Mount 해제
포맷 전에 해당 Disk가 mount가 되어 있는 지 확인해야 한다.
mount가 되어 있으면 해제해줘야 한다.
umount 명령어로 바로 가능하지만 보통 /etc/fstab에서 mount를 관리한다./etc/fstab에서 확인 후 mount 해제한다.
# 해당 부분 주석 처리
$ vi /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/md1 during curtin installation
/dev/disk/by-id*** / ext4 defaults 0 1
# /dev/disk/by-id/*** none swap sw 0 0
# /boot/efi was on /dev/sda1 during curtin installation
/dev/disk/by-uuid/*** /boot/efi vfat defaults 0 1
# /swap.img none swap sw 0 0
#/dev/disk/by-id/*** /u01 xfs defaults,nofail 0 0
/dev/disk/by-id/***/u02 xfs defaults,nofail 0 0
/dev/disk/by-id/*** /u03 xfs defaults,nofail 0 0
# fstab 수정 적용
$ mount -a
* 일부 중요정보는 *로 표시하였습니다.
Partition 생성
해당 Disk를 mount를 하면 Partition을 생성한다.
대용량 Disk를 한번에 ext4로 포맷할 수가 없다.
64bit 주소체계를 가진 GPT(GUID Partition Table)를 생성한다.
GPT는 다음에 기회가 되면 따로 정리해서 포스팅하려 한다.
parted 명령어로 작업을 진행한다.
# parted 명령어로 해당 Disk partition 설정
$ parted /dev/md2
GNU Parted 3.4
Using /dev/md2
Welcome to GNU Parted! Type 'help' to view a list of commands.
# 해당 disk를 gpt로 변경
$ (parted) mklabel gpt
Warning: The existing disk label on /dev/md2 will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? y
# loop partition(통짜 partition) 만들기
(parted) mkpart primary 0% 100%
# 해당 Disk parttion 정보 확인
(parted) p
Model: Linux Software RAID Array (md)
Disk /dev/***: 120TB
Sector size (logical/physical): 4096B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 5243kB 120TB 120TB primary
Ext4로 포맷
mount 해제, GPT Partition 생성 등 사전 작업이 끝났다.
이제 해당 Disk를 Ext4로 포맷한다.
아래 mkfs 명령어로 가능하다.
$ mkfs.ext4 /dev/md2
mke2fs 1.46.5 (30-Dec-2021)
Found a gpt partition table in /dev/md2
Proceed anyway? (y,N) y
Creating filesystem with 29296878080 4k blocks and 1831055360 inodes
Filesystem UUID: ***
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
2560000000, 3855122432, 5804752896, 12800000000, 17414258688,
26985857024
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information:
mkfs 명령어를 default 설정을 해도 무리 없이 진행되었다.
아래 참고사이트에 보면 적절한 설정값을 줘서 하는 경우도 있으니 참고하길 바란다.
Block size, stride size, stride width을 계산해서 mkfs.ext4를 진행하는 글이다.
[참고사이트]
'OS > Linux' 카테고리의 다른 글
NTP 설정 (0) | 2023.02.19 |
---|---|
RAID Disk 구성 - Spare Disk (0) | 2023.02.12 |
DNS 체크 (0) | 2023.01.31 |
SFTP 전용 유저 생성 (0) | 2023.01.19 |