서버에 하드디스크 두장을 추가하고 두 장 모두 한 directory로 마운트 한다.
파티션 생성
fdisk -l 로 디스크 이름 확인 후 파티션을 생성한다. 아래 예시에서는 sda, sdb 두개 디스크이다.
$ parted /dev/sda
(parted) mklabel gpt
(parted) mkpart
Partition name?
File system type? xfs
Start? 0%
End? 100%
(parted) q
두번째 디스크도 마찬가지
$ parted /dev/sdb
(parted) mklabel gpt
(parted) mkpart
Partition name?
File system type? xfs
Start? 0%
End? 100%
(parted) q
fdisk 확인해보면 Disk 정보아래에 Device 정보가 추가되어있다. sda1와 같이 숫자가 붙은건 파티션이 정의되었다는 의미이다.
Device Start End Sectors Size Type
/dev/sdb1 2048 7814035455 7814033408 3.7T Linux filesystem
Device Start End Sectors Size Type
/dev/sda1 2048 7814035455 7814033408 3.7T Linux filesystem
pv (physical volume) 생성
pv를 생성하고 sda1과 sdb1를 pv에 할당한다.
# pvcreate /dev/sda1 /dev/sdb1
Physical volume "/dev/sda1" successfully created.
Physical volume "/dev/sdb1" successfully created.
# pvscan
PV /dev/sda1 lvm2 [<3.64 TiB]
PV /dev/sdb1 lvm2 [<3.64 TiB]
Total: 2 [<7.28 TiB] / in use: 0 [0 ] / in no VG: 2 [<7.28 TiB]
VG (volume group) 생성
vg를 생성하고 sda1과 sdb1를 vg에 할당한다. vg의 이름은 'data'가 된다.
# vgcreate data /dev/sda1 /dev/sdb1
Volume group "data" successfully created
# vgs
VG #PV #LV #SN Attr VSize VFree
data 2 0 0 wz--n- <7.28t <7.28t
LV (logical volume) 생성
lv를 생성하면서 'data' vg를 할당한다. lv의 이름은 'lv_data'가 된다.
# lvcreate -n lv_data data //lv_data에 data를 할당
# lvcreate -l 100%FREE -n lv_data data //VG의 모든 가용 영역을 LV로 만들기
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_data data -wi-a----- <7.28t
마운트
mount 명령어 쓰면 재부팅 후 mount가 해제되므로 fstab에 마운트 위치를 추가해야한다. LV의 uuid 확인
# ls -al /dev/disk/by-id/
lrwxrwxrwx 1 root root 10 Feb 7 03:45 dm-name-data-lv_data -> ../../dm-0
# ls -al /dev/disk/by-uuid/
lrwxrwxrwx 1 root root 10 Feb 7 03:45 7445e045-55c6-4a5c-8f5c-4cad7d44c7c4 -> ../../dm-0
fstab에 마운트 위치 추가
# vim /etc/fstab
/dev/disk/by-uuid/7445e045-55c6-4a5c-8f5c-4cad7d44c7c4 /home/lunit/store xfs defaults 0 1
Test fstab
재부팅하기전에 fstab으로 이상없는지 확인한다.
$ sudo findmnt --verify
마지막 줄에 에러가 없는지 확인한다.
$ reboot
마운드 해제하기
마운트 해제는 umount로 가능
umount/media/data
0 댓글