概要
仮想マシンでLinuxを作成後、サーバーのディスクの拡張・縮小を行う方法。
前提条件
・VMware EXSiでLinuxの仮想マシンが起動していること(※ vSphere Client 6.5上で作業しています)
・yumのリポジトリの追加が可能なこと
・RHEL7(CentOS7)の環境
Linuxサーバーのボリューム拡張方法
① vCenterにログインし、対象の仮想マシンをシャットダウンします。
② 対象の仮想マシンを「右クリック」→「設定の編集」をクリックします。
③ 追加するハードディスクの容量の値を増やし「OK」をクリックします。
④ 対象の仮想マシンを「右クリック」→「電源」→「パワーオン」をクリックし、仮想マシンを起動します。
⑤ ターミナル経由で対象の仮想マシンにsshでログインします。以下のコマンドを入力します。
## ボリュームの拡張(/rootの拡張)
##---------------------------------------------------------------
# 現在のディスクの確認
df -Th
# 現在のパーティション情報を確認
fdisk -l
# パーティションの作成
fdisk /dev/sda
# 「n」を入力し、新しいパーティションの作成を開始
Command (m or help): n
# 「P」を入力し、プライマリパーティションを選択
Select (default p): p
# デフォルトの設定でOKなので「Enter」を押す
Partition number (3,4, default 3):
First sector (209715200-314572799, default 209715200):
# 領域テーブルの確認(対象IDが「83 Liunux」)
Command (m or help): p
# 領域システムIDを変更する
Command (m or help): t
# 「3」を入力し、デフォルトのパーティション番号を指定
Partition number (3,4, default 3):
# 「8e」を入力し、LinuxLVMに変更
Hex code (type L to list all codes): 8e
# 領域テーブルの確認(対象IDが「8e」に変更されているか)
Command (m for help): p
# 「w」を入力し、ディスクに書き込む
Command (m for help): w
# 再起動
reboot
# 物理ボリュームの作成
pvcrate /dev/sda3
# 割り当て対象の「VG(ボリュームグループ) Name」の確認
pvdisplay
# /rootのVG(ボリュームグループ)に物理ボリュームを追加する
vgextend (VGNAME) /dev/sda3
# ボリュームを割り当てる
lvextend -l +100%FREE /dev/centos/root
xfs_growfs /dev/mapper/centos-root
# /rootにボリュームが拡張されたか確認
df -Th
Linuxサーバーのボリューム縮小方法
・/homeのボリュームを縮小して、/rootに割り当てる
## ボリュームの縮小(/homeを縮小して、/rootに割り当てる)
##---------------------------------------------------------------
# 現在のディスクの確認
df -Th
# dump保存「xfsdump」、プロセス管理「psmisc」のインストール
yum -y install xfsdump psmisc
# /homeのファイルシステムのプロセスの確認
fuser -m /home
# 上記コマンド実行後、結果が表示された場合stop or killする
systemctl stop ****
kill ****
# /homeをアンマウント
umount /dev/mapper/centos-home
# /homeがアンマウントされたか確認
df -Th
# /homeの利用停止
lvchange -an /dev/centos/home
# /homeに割り当てる容量(GB)を指定し作成
lvcreate -L (/homeに割り当てる値)G -n home centos
# /homeは一度割り当てしていると警告が表示されるので「y」
WARNING: xfs signature detected on /dev/centos/home at offset 0. Wipe it? [y/n]: y
# xfsのファイルシステムの作成
mkfs.xfs /dev/centos/home
# /homeをマウント
mount /dev/centos/home
# /homeのdumpファイルをリストア
xfsrestore -J -L home -f home.dump /home
# /homeで空いたボリュームを/rootに割り当て
lvextend -l +100%FREE /dev/centos/root
# /rootの拡張
xfs_growds /dev/mapper/centos-root
# /rootが拡張されたか確認
df -Th
# dumpファイルの削除
rm home.dump