[Linux / CentOS 7] vmware 리눅스 하드디스크 마운트 및 폴더 용량 확장
하드에 용량이 없어서 데몬 실행이나 로그 작성이 안 될 때가 있다.. 예를 들면 젠킨스 배포하려고 하는데..
콘솔에 에러는 빵빵뜨니까 빨리 해결해보자.
1. 하드디스크의 상태 확인
df명령어로 하드디스크 상태를 확인해본다.
[root@minggu92 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 894M 0 894M 0% /dev
tmpfs 910M 26M 884M 3% /dev/shm
tmpfs 910M 11M 900M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/mapper/centos-root 20G 20G 0G 100% /
/dev/sda1 1014M 207M 808M 21% /boot
tmpfs 182M 60K 182M 1% /run/user/0
[root@minggu92 ~]#
100% 를 꽉채워 쓴 저 폴더를 늘려보자 ^^
2. VMWARE에 하드디스크 추가
일단 해당 vmware의 마우스 오른쪽을 클릭해 Settings에 들어간다.
Add 버튼을 눌러 Hard Disk를 추가해준다.
넉넉하게 추가해 준 뒤 해당 pc를 재부팅하고 디스크가 장착이 됐는지 lsblk 명령어와 ll /dev/sd* 명령어로 확인을 해보자. (기본적으로 하드 장치를 추가하면 /dev 디렉터리 안에 sda, sdb, sdc.. 이렇게 명명되는 듯하다.)
# 하드디스크 추가 전
[root@minggu92 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
[root@minggu92 ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Nov 8 10:02 /dev/sda
brw-rw----. 1 root disk 8, 1 Nov 8 10:02 /dev/sda1
brw-rw----. 1 root disk 8, 2 Nov 8 10:02 /dev/sda2
# 하드디스크 추가 후
[root@skylark_dev ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 100G 0 disk
[root@minggu92 ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Nov 8 10:02 /dev/sda
brw-rw----. 1 root disk 8, 1 Nov 8 10:02 /dev/sda1
brw-rw----. 1 root disk 8, 2 Nov 8 10:02 /dev/sda2
brw-rw----. 1 root disk 8, 16 Nov 8 10:02 /dev/sdb
sdb라는 장치가 인식되었다! 여기서 이 장치만 마운트 하여 용량을 확보하고, 용량을 많이 잡아먹는 프로세스들을 옮기는 방법도 있겠지만,, 우리가 하고 싶은 것은 단순 폴더 용량 확장!
그렇기 때문에 sdb라는 물리 장치를 마운트 시킨 뒤에 논리 볼륨으로 centos-root 폴더에 할당할 것이다.
3. 하드디스크 파티셔닝 및 마운트
fdisk 명령어를 이용해 primary로 새롭게 마운트 한다.
[root@minggu92 ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n
Command action
e extended
p primary partition (1-4)
Select (default p): p
Partition number (1-4): 1
First cylinder (1-13054, default 1): (Enter)
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-13054, default 13054): (Enter)
Using default value 13054
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
4. PVM에 파티션 추가 (물리적 볼륨)
하드디스크라는 물리적 장치 파티션을 추가한다.
# 현재 사용 가능한 물리적볼륨 확인
[root@minggu92 ~]# pvscan
PV /dev/sda2 VG centos lvm2 [<19.00 GiB / 0 free]
Total: 1 [18.99 GiB] / in use: 2 [18.99 GiB] / in no VG: 0 [0 ]
# 추가한 파티션을 물리적 볼륨으로 추가
[root@minggu92 ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
# 재확인
[root@minggu92 ~]# pvscan
PV /dev/sda2 VG centos lvm2 [<19.00 GiB / 0 free]
PV /dev/sdb1 VG centos lvm2 [<100.00 GiB / <75.00 GiB free]
Total: 2 [118.99 GiB] / in use: 2 [118.99 GiB] / in no VG: 0 [0 ]
# 볼륨그룹에 할당
[root@minggu92 ~]# vgextend centos /dev/sdb1
Volume group "centos" successfully extended
pvscan 명령어를 통해 나오는 물리적 볼륨에서 경로 뒤에 나오는 VG칼럼의 centos는 현재 설정된 볼륨 그룹을 나타낸다.
5. LVM에 파티션 추가 (논리적 볼륨)
추가된 물리 볼륨을 논리 볼륨으로 할당해준다.
# 사용 가능한 PE size 확인
[root@minggu92 ~]# pvdisplay /dev/sdb1
--- Physical volume ---
PV Name /dev/sdb1
VG Name centos
PV Size <100.00 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 25599
Free PE 19199
Allocated PE 6400
PV UUID g5vG5z-JzYw-zcAQ-kJLd-rHnQ-aJRJ-L4q1xI
# PE를 LVM 파티션에 추가하고 파티션을 resize
# 볼륨그룹에 따라 경로가 다를 수 있다.
# 기가바이트로 할 수도 있고
[root@minggu92 ~]# lvextend -L +20GB /dev/centos/root
# pe size로 할당할 수 있다.
[root@minggu92 ~]# lvextend /dev/centos/root -l +25599
Size of logical volume VolGroup/lv_root changed from 47.57 GiB (12178 extents) to 147.57 GiB (37777 extents).
Logical volume lv_root successfully resized
7. 파일 시스템 확장
#xfs파일시스템 확장명령어 [CentOS 7]
[root@minggu92 ~]# xfs_growfs /dev/centos/root
meta-data=/dev/mapper/centos-root isize=512 agcount=10, agsize=1113856 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=11009024, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
#그 외 버전
[root@minggu92 ~]# resizee2fs /dev/centos/root
8. 용량 확인
[root@minggu92 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 894M 0 894M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 11M 900M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/mapper/centos-root 42G 19G 24G 44% /
/dev/sda1 1014M 207M 808M 21% /boot
tmpfs 182M 36K 182M 1% /run/user/0
번외) growpart 이용
리눅스 용량 할당을 간편하게 도와주는 growpart 패키지를 설치해서 진행할 수 있다. 클라우드 서비스를 이용하는 상태이거나 하드디스크 추가가 아닌 vmware에서 할당된 디스크량만 늘리면 lsblk 명령어를 통해 늘어난 것을 확인할 수 있는데 해당 상태에서 하위 파티션으로 바로 용량을 할당할 수 있다.
yum명령어를 통해 install 하면 된다.
[root@minggu92 ~]# yum install cloud-utils-growpart
현재 확장하고자 하는 /home경로 용량은 SDA->SDA2->centos-root 절차상 순서대로 용량을 전달해준다.
[root@minggu92 ~]# growpart /dev/sda 2
그 뒤에 물리 공간에 배정한 용량을 사용 가능한 볼륨으로 변경하고 논리 파티션을 확장하는 방법은 같다.
[root@minggu92 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 42G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 100G 0 disk
└─sdb1 8:17 0 100G 0 part
└─centos-root 253:0 0 42G 0 lvm /
sr0 11:0 1 1024M 0 rom
#lvm 파티션 resize
[root@minggu92 ~]# lvextend /dev/centos/root -l +100%FREE
Size of logical volume centos/root changed from <42.00 GiB (10751 extents) to 116.99 GiB (29950 extents).
Logical volume centos/root successfully resized.
[root@minggu92 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 117G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 100G 0 disk
└─sdb1 8:17 0 100G 0 part
└─centos-root 253:0 0 117G 0 lvm /
sr0 11:0 1 1024M 0 rom
# xfs 파일 시스템 확장 및 리로드
[root@minggu92 ~]# xfs_growfs /dev/centos/root
meta-data=/dev/mapper/centos-root isize=512 agcount=10, agsize=1113856 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=11009024, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 11009024 to 30668800
# 추가된 용량 확인
[root@minggu92 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 894M 0 894M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 11M 900M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/mapper/centos-root 117G 19G 99G 16% /
/dev/sda1 1014M 207M 808M 21% /boot
tmpfs 182M 36K 182M 1% /run/user/0
<참고>
https://indienote.tistory.com/195
https://kingsong.tistory.com/167
'Server & Infra' 카테고리의 다른 글
[Docker] sudo 권한 없이 Docker 실행 (0) | 2022.03.16 |
---|---|
[Docker] yum 명령어를 통한 Docker 설치방법 (Cloud 환경) (0) | 2022.03.11 |
[Linux / CentOS] vmware 내에 CentOS 7 수동 네트워크 설정 및 고정IP 할당 (0) | 2021.11.02 |
[Linux / CentOS] Hostname 바꾸기 (0) | 2021.10.27 |
[JBoss & Wildfly] System property 세팅 및 사용 (0) | 2021.10.27 |