そこで、ハードディスクの容量を増やして空き領域に新たなパーティションを作成し、LVMとして追加することにした。LVMなら再度容量を追加したりするとき便利だし。
まあ仮想マシンだから新たにディスクを増やしてもいいんだけれど、そこはせっかくなので仮想マシンならではの方法をやってみよう、ということでディスクの容量追加にした。
ただ容量増加前の状態だと20GBの容量ほぼ全部を1つのパーティションとして使っていて(かつLVMにしていない)、ここにルート(/)以下をまるごと突っ込んでしまっているので、このパーティション自体の容量を増やそうとすると色々と面倒だ。
そこで最も容量を圧迫している /home 以下に、新たに作成したLVMパーティションを割り当てることにした(参考にしたのはここ)。
まず、VMWare の設定画面からハードディスクの容量を変更する(20GB -> 50GB)。スナップショットがあると変更できないので、必要なデータは事前にバックアップしたうえでスナップショットは消しておく。
そしてルート権限で fdisk コマンドを実行する。-lオプションをつけて現在の状態を確認。
[root@localhost]~# fdisk -l Disk /dev/sda: 53.7 GB, 53687091200 bytes 255 heads, 63 sectors/track, 6527 cylinders, total 104857600 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 identifier: 0x000325f8 Device Boot Start End Blocks Id System /dev/sda1 * 2048 40136703 20067328 83 Linux /dev/sda2 40138750 41940991 901121 5 Extended /dev/sda5 40138752 41940991 901120 82 Linux swap / Solaris
/dev/sdaは53.7GBと認識されてる。もちろん容量を増やしたから、現在のパーティションを全部合わせても空き領域がある。この空き領域に新しくパーティションを作成して/home用に使うことにする。その際、パーティションの開始セクタを空き領域の先頭に設定する。
そこで fdisk で続けて次の操作を行う。
・nコマンドを入力(パーティションを新規作成)
・パーティションタイプはデフォルト(プライマリ)でよいのでそのままEnter
・パーティション番号もデフォルト(この場合は3)でよいのでそのままEnter
・開始セクタは空き領域の先頭(この場合は41940992)を入力
・終了セクタは自動的に最終セクタがデフォルトになるのでそのままEnter
Command (m for help): n Partition type: p primary (1 primary, 1 extended, 2 free) l logical (numbered from 5) Select (default p): Using default response p Partition number (1-4, default 3): Using default value 3 First sector (40136704-104857599, default 40136704): 41940992 Last sector, +sectors or +size{K,M,G} (41940992-104857599, default 104857599): Using default value 104857599
パーティションができたかpコマンドで確認。
Command (m for help): p Disk /dev/sda: 53.7 GB, 53687091200 bytes 255 heads, 63 sectors/track, 6527 cylinders, total 104857600 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 identifier: 0x000325f8 Device Boot Start End Blocks Id System /dev/sda1 * 2048 40136703 20067328 83 Linux /dev/sda2 40138750 41940991 901121 5 Extended /dev/sda3 41940992 104857599 31458304 83 Linux /dev/sda5 40138752 41940991 901120 82 Linux swap / Solaris
/dev/sda3としてできている。
パーティションのタイプをtコマンドでLVMに変更する。
fdiskでの操作は
・コマンドは t を入力
・パーティション番号は先ほど作成した番号(3)を入力
・ヘックスコードはLVMを表す 8e を入力
[root@localhost]~# fdisk /dev/sda Command (m for help): t Partition number (1-5): 3 Hex code (type L to list codes): 8e Changed system type of partition 3 to 8e (Linux LVM)
pコマンドで結果を確認する。
Command (m for help): p Disk /dev/sda: 53.7 GB, 53687091200 bytes 255 heads, 63 sectors/track, 6527 cylinders, total 104857600 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 identifier: 0x000325f8 Device Boot Start End Blocks Id System /dev/sda1 * 2048 40136703 20067328 83 Linux /dev/sda2 40138750 41940991 901121 5 Extended /dev/sda3 41940992 104857599 31458304 8e Linux LVM /dev/sda5 40138752 41940991 901120 82 Linux swap / Solaris
確認できたら、w コマンドでパーティションテーブルに書き込む。
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: デバイスもしくはリソースがビジー状態です. 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.
古いパーティションを使用中なので警告が出る。パーティションテーブルを有効化するために再起動する。
[root@localhost]~# reboot
再起動後、PVを作成しようと思ったらコマンドがなかったので lvm2 をインストール。
[root@localhost]~# apt-get install lvm2
コマンドを認識させるためログアウト&ログインしておく。そしてあらためてPVを作成。
[root@localhost]~# pvcreate /dev/sda3 Writing physical volume data to disk "/dev/sda3" Physical volume "/dev/sda3" successfully created
VG作成、今回はPVを1つだけ使うことにする。
[root@localhost]~# vgcreate home1 /dev/sda3 Volume group "home1" successfully created
LV作成、VG空き容量の全部を使うことにする。
[root@localhost]~# lvcreate -n home1-1 -l 100\%FREE home1 Logical volume "home1-1" created
ext4としてフォーマット
[root@localhost]~# mkfs.ext4 /dev/home1/home1-1 mke2fs 1.42.5 (29-Jul-2012) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1966080 inodes, 7864320 blocks 393216 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 240 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
/homeの中身を引っ越すため、一時的にマウントポイントを作成して新しく作成したパーティションをマウントし、コピーする。
[root@localhost]~# mkdir /mnt/home1-1 [root@localhost]~# mount /dev/home1/home1-1 /mnt/home1-1 [root@localhost]~# cp -rp /home/* /mnt/home1-1
/etc/fstabを編集する。
[root@localhost]~# vim /etc/fstab
最終行に以下を追加して保存
/dev/home1/home1-1 /home ext4 defaults 1 2
最後に、コピー済みの/homeの中身を消して再起動
[root@localhost]~# rm -rf /home/* [root@localhost]~# reboot
再起動後、dfで確認してみる。
[root@localhost]~# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 rootfs 19G 6.6G 12G 37% / udev 10M 0 10M 0% /dev tmpfs 397M 688K 396M 1% /run /dev/disk/by-uuid/a1211e97-cb86-4aa7-8829-0700c8e26c1a 19G 6.6G 12G 37% / tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 969M 220K 969M 1% /run/shm /dev/mapper/home1-home1--1 30G 8.1G 20G 29% /home
/homeの容量が増えました。めでたしめでたし。
※この記事について指摘・意見・提案・感想などありましたら下のコメント欄にどうそ。
0 件のコメント:
コメントを投稿