Linuxサーバーのディスク容量を増やすことは、すべてのシステム管理者にとって日常業務です。そのため、この記事では、Linuxコマンドを使用して本番サーバーを再起動せずにLinuxCentOS7のディスク容量を増やすために使用できる簡単な手順をいくつか紹介します。
Linuxシステムに新しいディスクを増やしたり追加したりするための複数の方法と可能性について説明します。これにより、要件に応じて、快適に使用できるディスクに従うことができます。
1)VMゲストのディスクを増やす
Linuxシステム内のディスクボリュームを増やす前に、VMware Vsphere、ワークステーション、または使用している他のインフラストラクチャ環境から設定を編集して、新しいディスクを追加するか、システムにすでに接続されているディスクを増やす必要があります。
2)ディスク容量を確認する
次のコマンドを実行して、ディスク容量の現在のサイズを確認します。
# df -h
# fdisk -l
ここでは、ディスクの合計サイズが10 GBと同じであることがわかりますが、バックエンドからすでに50GBに増やしています。
3)VMを再起動せずにスペースを拡張する
次に、次のコマンドを実行して、SCSIバスを再スキャンし、SCSIデバイスを追加して、仮想マシンを再起動せずに、オペレーティングシステムの物理ボリュームのディスク領域を拡張します。
# ls /sys/class/scsi_host/
# echo "- - -" > /sys/class/scsi_host/host0/scan
# echo "- - -" > /sys/class/scsi_host/host1/scan
# echo "- - -" > /sys/class/scsi_host/host2/scan
SCSIデバイスの名前を確認してから、以下のコマンドを使用してSCSIバスを再スキャンします。
# ls /sys/class/scsi_device/
# echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
# echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan
これにより、現在のSCSIバスが再スキャンされ、VMゲスト設定から増やしたディスクサイズが下の画像に示すように表示されます。
4)新しいディスクパーティション
システム内のディスク容量の増加を確認できたら、次のコマンドを実行して、物理ディスクボリュームを増やす手順に従って、新しいパーティションを作成するためにディスクをフォーマットします。
# fdisk /dev/sda
fdisk(util-linux 2.23.2)へようこそ。ヘルプが表示される場合は「m」キーを押してください。
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help):
「p」と入力して現在のパーティションテーブルを印刷し、「n」キーを入力して使用可能なセクターを選択して、新しいプライマリパーティションを作成します。 「t」コマンドを使用してコードを「8e」に選択するか、デフォルトのタイプである「83」のままにして、ディスクタイプを「LinuxLVM」に変更します。
次に、テーブルをディスクに書き込み、図のように「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: Device or resource busy. 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)
5)物理ボリュームの作成
上記のように、「partprobe」またはkpartxコマンドを実行してテーブルを使用できるようにしてから、以下のコマンドを使用して新しい物理ボリュームを作成します。
# partprobe
# pvcreate /dev/sda3
新しく作成されたボリュームを確認するには、次のコマンドを実行して、新しい物理ボリュームが作成されて表示されているかどうかを確認します。その後、図のように新しく作成した物理ボリュームを使用して、ボリュームグループ「centos」を拡張します。
# pvdisplay
# vgextend centos /dev/sda3
6)論理ボリュームの拡張
次に、以下のコマンドを使用して、論理ボリュームを拡張し、その上のディスク容量を増やします。
# lvextend -L +40G /dev/mapper/centos-root
正常に増加したメッセージが表示されたら、以下に示すコマンドを実行して、論理ボリュームのサイズを拡張します。
# xfs_growfs /dev/mapper/centos-root
'/'パーティションのサイズが正常に増加しました。次に示すように、'df'コマンドを使用してディスクドライブのサイズを確認できます。
7)再起動せずに新しいディスクを追加してルートパーティションを拡張する
これは2番目の方法ですが、CentOS7で論理ボリュームのサイズを増やすための非常によく似たコマンドを使用します。
したがって、最初のステップは、VMゲスト設定の設定を開き、[追加]新しいボタンをクリックして、次のオプションに進むことです。
次の図に示すように、新しいディスクのサイズとタイプを選択して、新しいディスクに必要な構成を選択します。
次に、サーバー側に移動し、次のコマンドを繰り返して、ディスクデバイスをスキャンして新しいディスクがシステムに表示されるようにします。
# echo "- - -" > /sys/class/scsi_host/host0/scan
# echo "- - -" > /sys/class/scsi_host/host1/scan
# echo "- - -" > /sys/class/scsi_host/host2/scan
SCSiデバイスの名前を一覧表示する
# ls /sys/class/scsi_device/
# echo 1 > /sys/class/scsi_device/1\:0\:0\:0/device/rescan
# echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan
# echo 1 > /sys/class/scsi_device/3\:0\:0\:0/device/rescan
# fdisk -l
新しいディスクが表示されたら、以下のコマンドを実行して新しい物理ボリュームを作成し、図のようにボリュームグループに追加します。
# pvcreate /dev/sdb
# vgextend centos /dev/sdb
# vgdisplay
次に、論理ボリュームにディスクスペースを追加して論理ボリュームを拡張し、ルートパーティションに追加します。
# lvextend -L +20G /dev/mapper/centos-root
# xfs_growfs /dev/mapper/centos-root
# df -h
結論
Linux CentOS 7でのディスクパーティションの管理は、この記事で説明されている手順を使用して、論理ボリュームのディスク容量を増やす簡単なプロセスです。この目的のために本番サーバーを再起動する必要はありませんが、SCSiデバイスを再スキャンして目的のLVMを拡張するだけです。この記事がお役に立てば幸いです。貴重なコメントや提案をお気軽に残してください。