Linuxで簡単にディスク拡張を安全に実施する方法

Linuxサーバ

AWS以外でgrowpart利用で安心安全なディスク拡張が可能

RHEL系(CentOS)
---
growpartというコマンドを利用して
サーバの停止をせず(下記「注1」を参照)
簡単に時間をかけずに安全にディスク拡張する方法を説明します。

※対象のファイルデバイスをアンマウントせずに拡張できます。
 umount /dev/sdXY ->しなくても拡張可能

growpartはAWS上で稼働させるサーバ(EC2インスタンス)でよく利用
されていますが、通常のLinuxサーバでも
cloud-utils-growpart-XXXX.rpmをインストールするだけで利用が可能です。
このパッケージ導入によるサーバへの影響は一切ございません。
growpartが利用できない場合は、partxコマンドで対応可能です。

手順(全体の流れ)
  1. Enterprise Linuxの追加パッケージ(EPEL)パッケージ導入
  2. cloud-utils-growpartパッケージ導入
  3. ディスクデバイスの拡張
    (vmware、VirtualBox、KVMなど仮想環境化で適宜デバイスの拡張)
  4. ファイルシステムのディスクの拡張(gropartコマンド実行)
  5. 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とパーティション番号をつける

コメント

タイトルとURLをコピーしました