티스토리 뷰

가상하드디스크의 크기 변경 또는 Disk 2 Disk 복사를 한 경우

물리디스크의 크기만 변경되고, 파티션 정보는 그대로 유지되어 있기 때문에,

변경된 디스크의 크기를 인식시키기 위한 일련의 작업이 필요함.

 

파티션 테이블 갱신 (-> LVM 크기 조정) -> 파일 시스템 인식의 순서로 진행됨.

 

fdisk를 이용한 파티션 테이블의 갱신

아래는 물리디스크(xvda)가 50GB에서 500GB로 확장하였으나,

파티션 xvda1, xvda2 의 크기가 총 50GB로 450GB 가량이 낭비되고 있는 상태.

# lsblk
NAME                     MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                       11:0    1 1024M  0 rom 
xvda                     202:0    0  500G  0 disk
├─xvda1                  202:1    0    1G  0 part /boot
└─xvda2                  202:2    0   49G  0 part
  ├─centos_test--m2-root 253:0    0 45.1G  0 lvm  /
  └─centos_test--m2-swap 253:1    0  3.9G  0 lvm  [SWAP]

 

아래와 같이 fdisk를 이용해 파티션 삭제 후 동일한 시작 위치(First Sector)에 파티션을 재생성함.

파티션 타입이 Linux가 아닌 경우에는 파티션의 ID도 변경해야 함. (LVM을 사용하고 있다면 8e 로 변경해야 함.)

언마운트가 불가능한 경우 재부팅이 필요할 수 있음.

# fdisk /dev/xvda
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): p
 
 
Disk /dev/xvda: 536.9 GB, 536870912000 bytes, 1048576000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00099585
 
 
    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *        2048     2099199     1048576   83  Linux
/dev/xvda2         2099200   104857599    51379200   8e  Linux LVM
 
 
Command (m for help): d
Partition number (1,2, default 2): 2
Partition 2 is deleted
 
 
Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): 
Partition number (2-4, default 2): 
First sector (2099200-1048575999, default 2099200):
Using default value 2099200
Last sector, +sectors or +size{K,M,G} (2099200-1048575999, default 1048575999):
Using default value 1048575999
Partition 2 of type Linux and of size 499 GiB is set
 
 
Command (m for help): p
 
 
Disk /dev/xvda: 536.9 GB, 536870912000 bytes, 1048576000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00099585
    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *        2048     2099199     1048576   83  Linux
/dev/xvda2         2099200  1048575999   523238400   83  Linux
 
 
Command (m for help): t
 
 
Partition number (1,2, default 2):
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
 
 
Command (m for help): p
 
 
Disk /dev/xvda: 536.9 GB, 536870912000 bytes, 1048576000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00099585
 
 
    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *        2048     2099199     1048576   83  Linux
/dev/xvda2         2099200  1048575999   523238400   8e  Linux LVM
 
 
Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
 
 
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

 

LVM을 사용중인 경우 PV, LV의 크기 조정

아래는 파티션에서는 용량을 제대로 인식하지만, LVM에서 인식하지 못하는 상태

# lsblk
NAME                     MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                       11:0    1 1024M  0 rom 
xvda                     202:0    0  500G  0 disk
├─xvda1                  202:1    0    1G  0 part /boot
└─xvda2                  202:2    0  499G  0 part
  ├─centos_test--m2-root 253:0    0 45.1G  0 lvm  /
  └─centos_test--m2-swap 253:1    0  3.9G  0 lvm  [SWAP]
 
# pvdisplay
  --- Physical volume ---
  PV Name               /dev/xvda2
  VG Name               centos_test-m2
  PV Size               <49.00 GiB / not usable 3.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              12543
  Free PE               1
  Allocated PE          12542
  PV UUID               rAvse3-V0JT-xVG9-mrA3-dNFg-psfk-ujpwuC

 

우선 PV의 크기를 파티션의 크기에 맞게 재조정함.

# pvresize /dev/xvda2
  Physical volume "/dev/xvda2" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized
 
# pvdisplay
  --- Physical volume ---
  PV Name               /dev/xvda2
  VG Name               centos_test-m2
  PV Size               <499.00 GiB / not usable 2.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              127743
  Free PE               115201
  Allocated PE          12542
  PV UUID               rAvse3-V0JT-xVG9-mrA3-dNFg-psfk-ujpwuC

 

할당 전 LV 정보

# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos_test-m2/swap
  LV Name                swap
  VG Name                centos_test-m2
  LV UUID                t519rK-T0eS-eZp3-cQmx-pvvN-CZMu-O0cwq7
  LV Write Access        read/write
  LV Creation host, time test-m2, 2018-01-26 13:15:24 +0900
  LV Status              available
  # open                 2
  LV Size                <3.88 GiB
  Current LE             992
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
    
  --- Logical volume ---
  LV Path                /dev/centos_test-m2/root
  LV Name                root
  VG Name                centos_test-m2
  LV UUID                Lgj2WQ-CiRZ-ende-npXd-mFZd-h8kV-zglFR3
  LV Write Access        read/write
  LV Creation host, time test-m2, 2018-01-26 13:15:25 +0900
  LV Status              available
  # open                 1
  LV Size                <45.12 GiB
  Current LE             11550
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

 

PV의 여유공간을 LV에 할당

# lvextend -l +100%Free /dev/mapper/centos_test--m2-root
  Size of logical volume centos_test-m2/root changed from <45.12 GiB (11550 extents) to 495.12 GiB (126751 extents).
  Logical volume centos_test-m2/root successfully resized.

 

할당 후 PV 및 LV 정보

# pvdisplay
  --- Physical volume ---
  PV Name               /dev/xvda2
  VG Name               centos_test-m2
  PV Size               <499.00 GiB / not usable 2.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              127743
  Free PE               0
  Allocated PE          127743
  PV UUID               rAvse3-V0JT-xVG9-mrA3-dNFg-psfk-ujpwuC
    
# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos_test-m2/swap
  LV Name                swap
  VG Name                centos_test-m2
  LV UUID                t519rK-T0eS-eZp3-cQmx-pvvN-CZMu-O0cwq7
  LV Write Access        read/write
  LV Creation host, time test-m2, 2018-01-26 13:15:24 +0900
  LV Status              available
  # open                 2
  LV Size                <3.88 GiB
  Current LE             992
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
    
  --- Logical volume ---
  LV Path                /dev/centos_test-m2/root
  LV Name                root
  VG Name                centos_test-m2
  LV UUID                Lgj2WQ-CiRZ-ende-npXd-mFZd-h8kV-zglFR3
  LV Write Access        read/write
  LV Creation host, time test-m2, 2018-01-26 13:15:25 +0900
  LV Status              available
  # open                 1
  LV Size                495.12 GiB
  Current LE             126751
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

 

 

파일시스템이 늘어난 크기를 인식하지 못하는 경우

아래는 여유공간을 모두 LV에 할당했으나, 늘어난 공간을 파일시스템에서 인식하지 못하는 상태.

# lsblk
NAME                     MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0                       11:0    1  1024M  0 rom 
xvda                     202:0    0   500G  0 disk
├─xvda1                  202:1    0     1G  0 part /boot
└─xvda2                  202:2    0   499G  0 part
  ├─centos_test--m2-root 253:0    0 495.1G  0 lvm  /
  └─centos_test--m2-swap 253:1    0   3.9G  0 lvm  [SWAP]
 
# df -hT
Filesystem                       Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos_test--m2-root xfs        46G  1.1G   45G   3% /
devtmpfs                         devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs                            tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs                            tmpfs     1.9G  8.4M  1.9G   1% /run
tmpfs                            tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/xvda1                       xfs      1014M  143M  872M  15% /boot
tmpfs                            tmpfs     379M     0  379M   0% /run/user/1000

 

파일 시스템 타입이 xfs인 경우(CentOS 7의 기본 파일시스템) xfs_growfs를 이용해 인식시킴

# xfs_growfs /dev/mapper/centos_test--m2-root
meta-data=/dev/mapper/centos_test--m2-root isize=512    agcount=4, agsize=2956800 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=11827200, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=5775, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 11827200 to 129793024
 
# df -hT
Filesystem                       Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos_test--m2-root xfs       496G  1.1G  495G   1% /
devtmpfs                         devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs                            tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs                            tmpfs     1.9G  8.4M  1.9G   1% /run
tmpfs                            tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/xvda1                       xfs      1014M  143M  872M  15% /boot
tmpfs                            tmpfs     379M     0  379M   0% /run/user/1000


ext3 또는 ext4인 경우 resize2fs를 사용

# resize2fs /dev/mapper/centos_test--m2-root


반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/03   »
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
글 보관함