Linuxサーバーのディスク容量を拡張する方法

Linuxサーバーのディスク容量を拡張する方法

序文

今日、es ログが記録されていないことに気付きました。filebeat、elasticsearch、logstash を確認したところ、es インデックスが読み取り専用になっていることがわかりました。インデックス モードを手動で変更した後、数分後に再び読み取り専用になりました。

さらに調べてみると、その理由は、1 つ以上のシャードのインデックスがディスクの 95% 以上を格納するノードに割り当てられると、インデックスが強制的に読み取り専用モードになるためだとわかりました。したがって、唯一の選択肢はディスク容量を拡張することです。以下にディスク拡張の手順を簡単に説明します。

ステップ

ディスクにはすでに 2 つのパーティションがありましたが、割り当てられた領域は大きくありませんでした。

fdisk -l でディスクマウントの状態を確認する

ディスクを追加し、管理端末から新しいディスク sdc をマウントします。

sdc ディスク パーティションの追加

fdisk /dev/sdc を使用して新しいパーティションを作成します。

[root@localhost インデックス]# fdisk /dev/sdc
デバイスには有効な DOS パーティション テーブルも Sun、SGI、または OSF ディスク ラベルも含まれていません
ディスク識別子 0x5799aeba を持つ新しい DOS ディスクラベルを構築しています。
変更は、書き込むことを決定するまで、メモリ内にのみ残ります。
もちろん、その後は以前のコンテンツを回復することはできません。

警告: パーティション テーブル 4 の無効なフラグ 0x0000 は w(write) によって修正されます

警告: このディスクのサイズは 2.2 TB (2199023255552 バイト) です。
DOSパーティションテーブル形式はボリュームのドライブでは使用できません
512バイトセクターの場合は(2199023255040バイト)より大きい。parted(1)とGUIDを使用する。 
パーティション テーブル形式 (GPT)。


警告: DOS互換モードは非推奨です。
         モードをオフにして(コマンド「c」)、表示単位を次のように変更します。
         セクター(コマンド 'u')。

コマンド(ヘルプはm):n #new 新しいパーティション コマンドアクション
   拡張
   p プライマリパーティション (1-4)
p #プライマリセクターパーティション番号(1-4)を選択: 1 #開始セクター最初のシリンダ(1-267349、デフォルト1): #デフォルト値1を取得するにはここでEnterキーを押します
デフォルト値1を使用する
最後のシリンダ、+シリンダ数または+サイズ{K,M,G} (1-267349、デフォルト 267349): #es は大量のストレージ領域を必要とするため、2T の領域を追加しました。通常、セクター サイズは必要に応じて変更できます。デフォルト値 267349 を使用します

コマンド (ヘルプは m): w #保存して終了 パーティション テーブルが変更されました。

ioctl() を呼び出してパーティション テーブルを再読み取りします。
ディスクを同期しています。

次に、pvcreate /dev/sdc1 コマンドを使用して物理ボリュームを作成します。注: ここで紹介する多くの記事ではシステムの再起動が必要ですが、ここでは実際にシステムを再起動する必要はありません。サーバーの通常の動作に影響を与えることなく、直接再起動できます。

[root@localhost インデックス]# pvcreate /dev/sdc1
  物理ボリューム「/dev/sdc1」が正常に作成されました

vgscan を使用して物理ボリューム グループ名を表示します。

[root@localhost インデックス]# vgscan
  すべての物理ボリュームを読み取っています。しばらく時間がかかる場合があります...
  メタデータ タイプ lvm2 を使用してボリューム グループ「VolGroup」が見つかりました
  #ここでの物理ボリュームグループ名はVolGroupです

新しく追加された物理セクターをボリューム グループにロードします。ここでは、vgextend VolGroup /dev/sdc1 を使用します。

[root@localhost インデックス]# vgextend VolGroup /dev/sdc1
  ボリューム グループ「VolGroup」が正常に拡張されました

ボリューム グループのサイズを増やします。ここでは、lvextend -L +2048G /dev/mapper/VolGroup-lv_root を使用します。

[root@localhost インデックス]# lvextend -L +2048G /dev/mapper/VolGroup-lv_root
  論理ボリューム VolGroup/lv_root のサイズが 135.47 GiB (34681 エクステント) から 2.13 TiB (558848 エクステント) に変更されました。
  論理ボリューム lv_root のサイズが正常に変更されました。

df -h を使用してスペース拡張ステータスを確認し、スペースが拡張されていないことを確認します。これは、ファイル システムが同期されていないためです。

[root@localhost インデックス]# df -h
ファイルシステムサイズ 使用済み 使用可能使用率 マウント先
/dev/mapper/VolGroup-lv_root
                      134G 119G 8.4G 94% /
tmpfs 32G 72K 32G 1% /dev/shm
/dev/sda1 477M 41M 411M 10% /ブート

ファイル システムを同期します。ファイル システムを同期するには、xfs_growfs または resize2fs を使用します。次の操作を行います。

[root@localhost インデックス]# resize2fs -f /dev/mapper/VolGroup-lv_root
resize2fs 1.41.12 (2010 年 5 月 17 日)
/dev/mapper/VolGroup-lv_root のファイルシステムは / にマウントされています。オンラインでのサイズ変更が必要です
古い説明ブロック = 9、新しい説明ブロック = 137
/dev/mapper/VolGroup-lv_root を 572260352 (4k) ブロックにオンラインでサイズ変更しています。
/dev/mapper/VolGroup-lv_root 上のファイルシステムの長さは現在 572260352 ブロックです。

次に、df -hを使用してスペース拡張ステータスを表示します。

[root@localhost インデックス]# df -h
ファイルシステムサイズ 使用済み 使用可能使用率 マウント先
/dev/mapper/VolGroup-lv_root
                      2.1T 125G 1.9T 7% /
tmpfs 32G 72K 32G 1% /dev/shm
/dev/sda1 477M 41M 411M 10% /ブート

CentOS6とCentOS7のデフォルトのルートファイルシステムのファイルシステムフォーマットが異なるため、xfsかどうかを判別する必要があります。xfsの場合は、resize2fsではなくxfs_growfsを使用する必要があります。

Linux サーバーのディスク容量を拡張する方法についての記事はこれで終わりです。Linux サーバーのディスク容量を拡張する方法についての詳細は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • LinuxでLVMディスクを拡張する詳細な手順
  • Linuxでディスクをマウントする方法
  • Linux ディスクデバイスと LVM 管理コマンドの詳細な例
  • Linux クラウド サーバーに新しいディスクをマウントする方法

<<:  ウェブページの背景画像を伸ばす2つの方法

>>:  よく使われるCSSカプセル化方法の概要

推薦する

MYSQLストアドプロシージャコメントの詳細な説明

目次1. 使用方法2. 準備3. 文法3.1 変数と代入3.2 入力および出力パラメータ3.3 プロ...

Win7 での Mysql 5.7.17 winx64 インストール チュートリアル

ソフトウェア バージョンとプラットフォーム: MySQL-5.7.17-winx64、win7 Ho...

docker createコマンドの使用方法

docker create コマンドは、イメージに基づいてコンテナを作成できます。このコマンドの効果...

Windows7 での Mysql5.7 my.ini ファイルの読み込みパスとデータの場所の変更方法

更新: MySQL の公式 Web サイトにアクセスして MySQL インストーラーをインストールし...

MySQL での数値のフォーマットの詳細な説明

最近、仕事の都合で、MySQL で数字をフォーマットする必要がありましたが、インターネット上にはほと...

JavaScript で文字列を数値に変換する方法

目次1.parseInt(文字列、基数) 2. 数値() 3.parseFloat()主なメソッドは...

リクエスト IP の最後のセグメントに基づいてトラフィックを分割するように Nginx を構成する方法

これは主に、場所パラメータのif判断の設定ジャンプです。迂回により、サーバーの負荷と圧力を軽減できま...

CSS でフローティングにより親要素の高さが崩れる問題を解決するいくつかの方法

以前は、フロートはレイアウトによく使用されていましたが、フローティングレイアウトを使用すると親要素の...

Angularコンポーネントライフサイクルの詳細説明(I)

目次概要1. フックの呼び出し順序2. onChangesフック3. 変更検出メカニズムとDoChe...

Docker環境を構築する簡単な方法

まず、Docker とは何かを理解しましょう。 Docker は、アプリケーションをデプロイするため...

Vueはvue-quill-editorリッチテキストエディタを使用し、画像をサーバーにアップロードします。

目次1. 準備2. グローバルコンポーネント quill-editor を定義する1. テンプレート...

Nginx コンテンツ キャッシュと共通パラメータ設定の詳細

使用シナリオ:プロジェクトのページでは、頻繁に変更されず、個別のカスタマイズも伴わない大量のデータを...

docker run 起動パラメータ コマンドを表示する方法 (推奨)

runlike を使用してコンテナの docker run 起動パラメータを表示します。 pipを...

IDEA を使用して Tomcat を設定し、JSP ファイルを作成する方法

idea を使用して JSP ファイルを書き込む前に、jdk 環境 (ここでは説明しません) と対応...

ReactでのsetStateの使用と同期と非同期の使用

React では、this.state を使用して状態を直接変更しても、コンポーネントは再レンダリン...