Linuxサーバーディスク拡張・縮小方法

  • 2020年7月21日
  • 2024年7月9日
  • Linux
  • 40ビュー

概要

仮想マシンで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