AWSを本番サーバーとして使用しています。昨日、mongodbの実行が停止し、ロギングに十分なスペースがないことを示すメッセージが表示されました。さらにスペースを追加するには、AWS コンソールでボリュームを編集し、ボリュームサイズを 16Gib に増やしました。 Linuxコマンドラインでは、lsblkの結果は次のとおりです。
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 16G 0 disk
└─xvda1 202:1 0 8G 0 part /
parted の印刷コマンドは、次の結果を表示します。
print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
128 1049kB 2097kB 1049kB BIOS Boot Partition bios_grub
1 2097kB 8590MB 8588MB ext4 Linux
2 8590MB 17.2GB 8590MB Linux
df-h は次の結果を表示します。
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.8G 4.3G 3.5G 56% /
devtmpfs 488M 56K 488M 1% /dev
tmpfs 498M 0 498M 0% /dev/shm
サーバーで何も失うことなく、/dev/xvda1に8GBの追加スペースを追加する必要があります。私はLinuxサーバーに初めて触れました。助けやアドバイスをいただきありがとうございます。
EDIT1 - Google以降もresize2fsを試しましたが、次の出力が表示されます。
resize2fs /dev/xvda1
resize2fs 1.42.12 (29-Aug-2014)
The filesystem is already 2096635 (4k) blocks long. Nothing to do!
答え1
まず、これらの操作を試みる前にフルバックアップを実行する必要があります。
パーティションテーブルから2番目のパーティションを削除する必要があります(例:gdisk
各ext2/3/4を使用すると、サイトに良い回答がある質問がいくつかあります)。parted
xfs_growfs
resize2fs
ファイルシステムの成長- このトピックを試す前に、広範囲に調査することをお勧めします。難しくありませんが、小さな間違いでも致命的なデータ損失につながる可能性があります。
別のオプションは、16G以上のディスク(またはより小さい1〜4GB / dev / xvda boot / OSディスクとデータベース用の2番目に大きい/ dev / xvdbディスク)を使用して新しいVMを作成することです。ストレージスペースを増やす必要があります。)2番目の仮想マシンを元の仮想マシンと同じにしてから、元の仮想マシンのデータを新しい仮想マシンにコピーします。
rsync
おそらく複製に最適です。元のVMがまだ実行中で、大量のデータに対する要求を処理している間にデータを再同期し、そのデータベースサービスをシャットダウンして再同期して、最初から追加/変更されたすべてのデータを転送できます。 rsyncが起動しました。次に、元の仮想マシンをシャットダウンし、元の仮想マシンと同じIPアドレスを使用して新しい仮想マシンを再起動します。これによりダウンタイムが最小限に抑えられます。