VirtualBox에서 CentOS7의 HDD 크기를 확장하고 싶습니다.

7508 단어 centos7VirtualBox

TL;DR(요약)



가상 CentOS7의 용량을 확장하려면
  • VirtualBox 가상 미디어 관리자에서 .vdi 파일의 크기를 확장
  • Gparted로 파티션 확장
  • lvextend 에서 논리 볼륨 확장
  • xfs_growfs 에서 파일 시스템 확장

  • 입니다.

    배경



    가상으로 운용하고 있는 CentOS의 용량이 부족해지므로 확장하고 싶다.
    그래서 우분투에서는 한 적이 있기 때문에 언제나처럼 Virtualbox의 가상 미디어 매니저에서 크기를 변경하고, GParted에서 파티션도 끊었다.
    어라, 어째서 용량이 늘어나지 않았어?

    TL; DR에 도달할 때까지의 메모





    GParted에서 보면 /dev/sda1/dev/sda2를 볼 수 있습니다.
    확장된 것은 /dev/sda2/이므로, 우선은 어떻게 인식되고 있는지를 mount 커멘드로 확인합니다.
    # あれ、/dev/sda2がないぞ...?
    [admin@localhost ~]$ mount | grep sda
    /dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
    
    # / をマウントしてるのは /dev/mapper/centos-root となっている。何これ?
    [admin@localhost ~]$ mount | grep cent
    /dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
    

    /에 마운트되어 있는 /dev/mapper/centos-root 가 누군지 몰랐기 때문에 조사해 보았더니, LVM 라고 하는 구조가 있는 것 같다.
    파티션의 확장은 할 수 있었지만, 논리 볼륨의 설정이 되어 있지 않기 때문에 사이즈가 확장되어 있지 않은가. 흠.
    lvdsiplayvgdisplay 에서 상황을 확인.
    [admin@localhost ~]$ sudo lvdisplay 
      --- Logical volume ---
      LV Path                /dev/centos/swap
      LV Name                swap
      VG Name                centos
      LV UUID                agK4Ww-ON0a-xLf2-umr2-cm7h-RJ31-JYSkHS
      LV Write Access        read/write
      LV Creation host, time localhost, 2019-06-12 20:57:21 +0900
      LV Status              available
      # open                 2
      LV Size                820.00 MiB
      Current LE             205
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:1
    
      --- Logical volume ---
      LV Path                /dev/centos/root
      LV Name                root
      VG Name                centos
      LV UUID                KNzEAM-AzBI-jLvl-6dA3-Y8fV-jDMJ-IisdoN
      LV Write Access        read/write
      LV Creation host, time localhost, 2019-06-12 20:57:21 +0900
      LV Status              available
      # open                 1
      LV Size                <6.20 GiB # ← 現在のサイズ。ここを拡張したい。
      Current LE             1586
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:0
    
    [admin@localhost ~]$ sudo vgdisplay 
      --- Volume group ---
      VG Name               centos
      System ID             
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  4
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                2
      Open LV               2
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               <39.00 GiB # ← ここまでは拡張できる
      PE Size               4.00 MiB
      Total PE              9983
      Alloc PE / Size       1791 / <7.00 GiB
      Free  PE / Size       8192 / 32.00 GiB
      VG UUID               UpCTuz-OvY3-Gw5k-a6FK-zlwv-mz0b-meXy0p
    
    
    lvextend 커멘드로 추가하는 논리 볼륨 용량을 지정할 수 있는 것 같기 때문에, 우선 30GB 추가.
    그런 다음 xfs_growfs 에서 파일 시스템 확장을 완료했습니다.
    [admin@localhost ~]$ sudo lvextend -L +30G /dev/centos/root 
    [sudo] admin のパスワード:
      Size of logical volume centos/root changed from <6.20 GiB (1586 extents) to <36.20 GiB (9266 extents).
      Logical volume centos/root successfully resized.
    
    
    [admin@localhost ~]$ sudo lvdisplay 
      --- Logical volume ---
      LV Path                /dev/centos/swap
      LV Name                swap
      VG Name                centos
      LV UUID                agK4Ww-ON0a-xLf2-umr2-cm7h-RJ31-JYSkHS
      LV Write Access        read/write
      LV Creation host, time localhost, 2019-06-12 20:57:21 +0900
      LV Status              available
      # open                 2
      LV Size                820.00 MiB
      Current LE             205
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:1
    
      --- Logical volume ---
      LV Path                /dev/centos/root
      LV Name                root
      VG Name                centos
      LV UUID                KNzEAM-AzBI-jLvl-6dA3-Y8fV-jDMJ-IisdoN
      LV Write Access        read/write
      LV Creation host, time localhost, 2019-06-12 20:57:21 +0900
      LV Status              available
      # open                 1
      LV Size                <36.20 GiB # ← 6.20GiBから36.20GiBまで増えました!
      Current LE             9266
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:0
    
    # まだファイルシステムの拡張はされていないので、`/dev/mapper/centos-root`のサイズは6.2Gのまま。
    
    [admin@localhost ~]$ df -h
    ファイルシス            サイズ  使用  残り 使用% マウント位置
    /dev/mapper/centos-root   6.2G  4.6G  1.7G   74% /
    devtmpfs                  908M     0  908M    0% /dev
    tmpfs                     920M     0  920M    0% /dev/shm
    tmpfs                     920M  8.6M  911M    1% /run
    tmpfs                     920M     0  920M    0% /sys/fs/cgroup
    /dev/sda1                1014M  189M  826M   19% /boot
    tmpfs                     184M     0  184M    0% /run/user/0
    tmpfs                     184M     0  184M    0% /run/user/1001
    [admin@localhost ~]$ 
    
    [admin@localhost ~]$ sudo xfs_growfs /dev/centos/root 
    meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=406016 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0 spinodes=0
    data     =                       bsize=4096   blocks=1624064, 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 1624064 to 9488384
    
    # ファイルシステムの拡張も終わったので、`/dev/mapper/centos-root`のサイズは37Gのまま。
    
    [admin@localhost ~]$ df -h
    ファイルシス            サイズ  使用  残り 使用% マウント位置
    /dev/mapper/centos-root    37G  4.6G   32G   13% /
    devtmpfs                  908M     0  908M    0% /dev
    tmpfs                     920M     0  920M    0% /dev/shm
    tmpfs                     920M  8.6M  911M    1% /run
    tmpfs                     920M     0  920M    0% /sys/fs/cgroup
    /dev/sda1                1014M  189M  826M   19% /boot
    tmpfs                     184M     0  184M    0% /run/user/0
    tmpfs                     184M     0  184M    0% /run/user/1001
    

    참고


  • CentOS7 LVM을 통한 디스크 관리 기본
  • CentOS /dev/mapper/centos-root 확장
  • VirtualBox 환경에서 우분투의 HDD 용량을 변경하는 방법
  • 그놈 파티션 편집기
  • 좋은 웹페이지 즐겨찾기