RHCSA : 파일 시스템 생성 및 구성 – 기존 논리 볼륨 확장

RHCSA 주제입니다. CertDepot 사이트를 번역 및 내용 추가하였으며, 컨텐츠 관련 모든 권리는 CertDepot에 있습니다.

사전 준비사항

이 실습은 200MB 정도의 사용가능한 공간을 필요로 함.

암호화되지 않은 논리 볼륨을 확장하기에 앞서, mylv라는 이름의 100MB크기의 논리 볼륨을 myvg라는 볼륨 그룹에 생성하자.

[root@server2 ~]# lvcreate --size 100M --name mylv myvg
  Logical volume "mylv" created
[root@server2 ~]# 

vfat이 아닌 암호화되지 않은 Ext4Xfs 파일 시스템만이 확장 가능하다.

노트: 이 실습에서, lvextendlvreduce 커맨드가 논리 볼륨의 사이즈를 늘리거나 줄이는데 사용된다. 편의를 위해, lvresize 커맨드는 여기서 다루지 않는다. 하지만, 같은 명령들이 이 커맨드와 약간 다른 방식으로 작동함을 알 수 있다(아래 추가사항의 코멘트를 참조할 것).

Ext4 논리 볼륨 확장

1. ext4 파일 시스템을 생성된 논리 볼륨에 생성하려면, 다음과 같이 입력한다.
[root@server2 ~]# mkfs.ext4 /dev/myvg/mylv
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done 

[root@server2 ~]# 
2. 새 파일 시스템을 /mnt에 마운트한다.
[root@server2 ~]# mount /dev/myvg/mylv /mnt
[root@server2 ~]# 
3-1. 볼륨 그룹의 사용 가능한 모든 공간을 암호화되지 않은 ext4로 포맷된 논리 볼륨으로 할당하려면(여기서는 /dev/myvg/mylv를 의미) 다음과 같이 입력한다.
[root@server2 ~]# lvextend -l +100%FREE -r /dev/myvg/mylv
  Extending logical volume mylv to 296.00 MiB
  Logical volume mylv successfully resized
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mapper/myvg-mylv is mounted on /mnt; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 3
The filesystem on /dev/mapper/myvg-mylv is now 303104 blocks long.

[root@server2 ~]# 

노트: -r옵션을 사용하면, 파일 시스템은 언마운트 할 필요 없이 자동으로 확장된다.

3-2. 암호화되지 않은 ext4로 포맷된 논리 볼륨(여기서는 /dev/myvg/mylv를 의미)의 크기를 50MB 확장하려면 다음과 같이 입력한다.
[root@server2 ~]# lvextend --size +50M -r /dev/myvg/mylv
  Rounding size to boundary between physical extents: 52.00 MiB
  Extending logical volume mylv to 152.00 MiB
  Logical volume mylv successfully resized
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mapper/myvg-mylv is mounted on /mnt; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/mapper/myvg-mylv is now 155648 blocks long.

[root@server2 ~]# 
3-3. 꼭 3-2와 같이 하지 않고, 두 단계로 나누어서 해도 된다.
[root@server2 ~]# lvextend --size +50M /dev/myvg/mylv
  Rounding size to boundary between physical extents: 52.00 MiB
  Extending logical volume mylv to 152.00 MiB
  Logical volume mylv successfully resized
[root@server2 ~]# resize2fs /dev/myvg/mylv
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/myvg/mylv is mounted on /mnt; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/myvg/mylv is now 155648 blocks long.

[root@server2 ~]# 

Ext4 논리 볼륨 축소

거꾸로, 논리 볼륨의 사이즈를 축소하려면(여기서는 50MB 만큼), 다음 과정을 진행한다.

1. 파일 시스템을 언마운트한다(여기서는 /dev/myvg/mylv를 의미).
[root@server2 ~]# umount /dev/myvg/mylv
[root@server2 ~]#
2. 논리 볼륨(여기서는 /dev/myvg/mylv를 의미)의 사이즈를 축소하면서 관련된 파일 시스템도 동시에 축소(-r옵션)하려면 다음과 같이 입력한다.
[root@server2 ~]# lvreduce --size -50M -r /dev/myvg/mylv
  Rounding size to boundary between physical extents: 48.00 MiB
fsck from util-linux 2.23.2
/dev/mapper/myvg-mylv: 11/37544 files (9.1% non-contiguous), 10390/155648 blocks
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/mapper/myvg-mylv to 106496 (1k) blocks.
The filesystem on /dev/mapper/myvg-mylv is now 106496 blocks long.

  Reducing logical volume mylv to 104.00 MiB
  Logical volume mylv successfully resized
[root@server2 ~]# 
3. 파일 시스템(여기서는 /dev/myvg/mylv를 의미)을 마운트한다.
[root@server2 ~]# mount /dev/myvg/mylv /mnt
[root@server2 ~]# 

XFS 논리 볼륨 확장

1. XFS 파일 시스템을 생성된 논리 볼륨에 생성하려면, 다음과 같이 입력한다.
[root@server2 ~]# mkfs.xfs /dev/myvg/mylv
meta-data=/dev/myvg/mylv         isize=256    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@server2 ~]# 
2. 새 파일 시스템을 /mnt에 마운트한다.
[root@server2 ~]# mount /dev/myvg/mylv /mnt
[root@server2 ~]# 
3-1. 암호화되지 않은 XFS로 포맷된 논리 볼륨(여기서는 /dev/myvg/mylv를 의미)의 크기를 50MB 확장하려면 다음과 같이 입력한다.
[root@server2 ~]# lvextend --size +50M -r /dev/myvg/mylv
  Rounding size to boundary between physical extents: 52.00 MiB
  Extending logical volume mylv to 152.00 MiB
  Logical volume mylv successfully resized
meta-data=/dev/mapper/myvg-mylv  isize=256    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 25600 to 38912
[root@server2 ~]# 
3-2. 꼭 3-1와 같이 하지 않고, 두 단계로 나누어서 해도 된다.
[root@server2 ~]# lvextend --size +50M /dev/myvg/mylv
  Rounding size to boundary between physical extents: 52.00 MiB
  Extending logical volume mylv to 152.00 MiB
  Logical volume mylv successfully resized
[root@server2 ~]# xfs_growfs /mnt
meta-data=/dev/mapper/myvg-mylv  isize=256    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 25600 to 38912
[root@server2 ~]#

노트: xfs_growfs 커맨드는 마운트된 XFS 파일 시스템만 인자로 허용한다.

추가 자료

코멘트: lvresize 커맨드를 대신 사용이 가능하다.

lvresize -L 10G -r /dev/myvg/mylv
설명
at4am의 프로필 이미지

at4am

2016년 04월 27일

글쓴이의 더 많은 글 읽어보기