LoginSignup
19
17

More than 5 years have passed since last update.

vagrantの既存boxにディスク容量を追加する

Last updated at Posted at 2016-01-05

vagrantのboxイメージ作成手順

既存のboxイメージのディスク容量を増やした時の手順メモです。

1. 元となるboxを使用してVM作成

  • 適当なディレクトリでvagrant初期化
$ vagrant init
  • vagrantファイルにboxのurl追記
$ vi Vagrantfile

今回は下記のものを使用した。
https://github.com/holms/vagrant-centos7-box/releases/download/7.1.1503.001/CentOS-7.1.1503-x86_64-netboot.box

  • VM起動
$ vagrant up
  • VM停止
$ vagrant halt

2. VMの修正

  • Virtualbox GUIでディスク追加(vdi, 120GB)

ディスク名は適当に「NewVirtualDisk2.vdi」とか

  • 既存のディスク(box-disk1.vmdk)内容を新規ディスクにコピー
command
$ VBoxManage clonehd {既存ディスク} {新規ディスク} --existing
実際のコマンド
$ VBoxManage clonehd box-disk1.vmdk NewVirtualDisk2.vdi --existing
  • Virtualbox GUIで古いディスク(box-disk1.vmdk)を削除

  • VM起動

$ vagrant up

3. VM内でディスク設定

$ vagrant ssh

ここからVM内でディスク操作

# sudo su -
# fdisk -l

# fdisk /dev/sda

    (実行サンプル)
    コマンド (m でヘルプ): n ← を入力
    コマンドアクション
       e   拡張
       p   基本パーティション (1-4)
    p ← を入力
    パーティション番号 (1-4): 3 ← を入力
    最初 シリンダ (1958-3916, 初期値 1958): エンター ← を入力
    初期値 1958 を使います
    Last シリンダ, +シリンダ数 or +size{K,M,G} (1958-3916, 初期値 3916): エンター ← を入力
    初期値 3916 を使います

    コマンド (m でヘルプ): t ← を入力
    パーティション番号 (1-4): 3 ← を入力
    16進数コード (L コマンドでコードリスト表示): 8e ← を入力
    領域のシステムタイプを 3 から 8e (Linux LVM) に変更しました

    コマンド (m でヘルプ): p ← を入力

    ディスク /dev/sda: 32.2 GB, 32212238336 バイト
    ヘッド 255, セクタ 63, シリンダ 3916
    Units = シリンダ数 of 16065 * 512 = 8225280 バイト
    セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    ディスク識別子: 0x0001959a

    デバイス ブート      始点        終点     ブロック   Id  システム
    /dev/sda1   *           1          64      512000   83  Linux
    パーティション 1 は、シリンダ境界で終わっていません。
    /dev/sda2              64        1958    15214592   8e  Linux LVM
    /dev/sda3            1958        3916    15727654   83  Linux LVM

    コマンド (m でヘルプ): w ← を入力

# reboot 

# sudo su -
# pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created
# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  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               9.41 GiB
  PE Size               4.00 MiB
  Total PE              2409
  Alloc PE / Size       2399 / 9.37 GiB
  Free  PE / Size       10 / 40.00 MiB
  VG UUID               T3uSCD-GT7k-K08J-YwyH-yfWO-G3IL-IzJ653

# vgextend centos /dev/sda3
  Volume group "centos" successfully extended

# lvextend -l +100%FREE /dev/mapper/centos-root
  Size of logical volume centos/root changed from 8.38 GiB (2145 extents) to 118.51 GiB (30339 extents).
  Logical volume root successfully resized

# resize2fs /dev/mapper/centos-root (※1)
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/mapper/centos-root
Couldn't find valid filesystem superblock.

# xfs_growfs /dev/mapper/centos-root
  meta-data=/dev/mapper/centos-root isize=256    agcount=4, agsize=549120 blks
           =                       sectsz=512   attr=2, projid32bit=1
           =                       crc=0        finobt=0
  data     =                       bsize=4096   blocks=2196480, imaxpct=25
           =                       sunit=0      swidth=0 blks
  naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
  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 2196480 to 31067136

# df -h
  Filesystem               Size  Used Avail Use% Mounted on
  /dev/mapper/centos-root  119G  1.1G  118G   1% /
  devtmpfs                 223M     0  223M   0% /dev
  tmpfs                    229M     0  229M   0% /dev/shm
  tmpfs                    229M  4.3M  225M   2% /run
  tmpfs                    229M     0  229M   0% /sys/fs/cgroup
  /dev/sda1                497M   83M  414M  17% /boot

# exit 
$ exit

※1. centos7ではresize2fsが使えない。代わりにxfs_growfsを使う
CentOS 7(XFS)でLVMディスク拡張でハマったこと

VM停止

$ vagrant halt

4. boxイメージ作成

$ vagrant package
19
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
17