AWS以外でgrowpart利用で安心安全なディスク拡張が可能
RHEL系(CentOS)
---
growpartというコマンドを利用して
サーバの停止をせず(下記「注1」を参照)に
簡単に時間をかけずに安全にディスク拡張する方法を説明します。
※対象のファイルデバイスをアンマウントせずに拡張できます。
umount /dev/sdXY ->しなくても拡張可能
growpartはAWS上で稼働させるサーバ(EC2インスタンス)でよく利用
されていますが、通常のLinuxサーバでも
cloud-utils-growpart-XXXX.rpmをインストールするだけで利用が可能です。
このパッケージ導入によるサーバへの影響は一切ございません。
growpartが利用できない場合は、partxコマンドで対応可能です。
手順(全体の流れ)
- Enterprise Linuxの追加パッケージ(EPEL)パッケージ導入
- cloud-utils-growpartパッケージ導入
- ディスクデバイスの拡張
(vmware、VirtualBox、KVMなど仮想環境化で適宜デバイスの拡張) - ファイルシステムのディスクの拡張(gropartコマンド実行)
- xfs(ext4)領域の拡張
手順1(Enterprise Linuxの追加パッケージ(EPEL)パッケージ導入)
RHEL8系
RHEL7系
RHEL6系
より各OSバージョンにあわせて「epel-release-XXX.rpm」パッケージをダウンロードしてインストールしてください。
※CentOSの場合はすでに導入されている場合があります
rpm -qa |grep epel-relese
でパッケージ名が表示されていたらすでに導入済で対応不要
インストール方法
対象サーバにて以下を実行
#rpm -ivh epel-release-XXX.rpm
※yumにてcloud-utils-growpartパッケージが導入できるようになる
手順2(cloud-utils-growpartパッケージ導入)
以下のコマンドを実行してgrowpartを導入
#yum install cloud-utils-growpart*
手順3(ディスクデバイスの拡張)
- vmware上の仮想サーバの場合
-->「vSphereクライアント」 - VirtualBox上の仮想サーバの場合
-->「仮想メディアマネージャー」 - KVM上の仮想サーバの場合
-->「qemu-img resize」コマンド
それぞれでディスクデバイスを拡張してください。
注1
サーバ停止しないとディスクデバイスが拡張できない場合は仮想サーバの停止が必要となります。
※必ずしも、仮想サーバ停止(サービス停止)せずにディスク拡張ができるとは限りませんので、仮想サーバの環境に合わせて「停止なし・停止あり」を判断して作業をしてください。
Vmware:仮想サーバの停止不要
KVM:仮想サーバの停止不要
VirtualBox:仮想サーバの停止必要
ディスクデバイスを拡張すると以下画像のようになります
手順4(ファイルシステムのディスクの拡張(gropartコマンド実行))
下記、画像を例に説明します。
growpart デバイス名 パーティション番号
例
/dev/sdc1を拡張したい場合
#growpart /dev/sdc 1
※sdcと1の間はスペース
---
growpartを実行するまでを画像で解説
---
手順5(xfs(ext4)領域の拡張)
下記、画像を例に説明します。
ファイルシステムが
xfsとext4どちらのフォーマットかは以下コマンドで確認
#blkid
■xfsフォーマットの場合
xfs_growfs デバイス名
例
/dev/sdc1を拡張したい場合
#xfs_growfs /dev/sdc1
※/dev/sdc1のようにsdc1とパーティション番号をつける
■ext4フォーマットの場合
resize2fs デバイス名
例
\dev\sdc1を拡張したい場合
#resize2fs /dev/sdc1
※/dev/sdc1のようにsdc1とパーティション番号をつける
コメント