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カプセル化方法の概要

推薦する

あまり多くのコードを書かずに、ハイパーリンクを使ってシンプルで美しいカスタムチェックボックスを実装できます。

今日ふと、HTML でチェックボックスのスタイルを変更できる範囲が限られていることと、チェックボック...

ファイルをアップロードするときに enctype フィールドを使用する理由は何ですか?

FORM 要素の enctype 属性は、フォーム データがサーバーに送信されるときに使用されるエン...

一時ファイルを作成できないために MySQL が起動できない問題を解決する方法

問題の説明最近、仕事中に問題が発生しました。MySQL が起動に失敗しました。エラー ログは次のとお...

Ubuntu で nvidia グラフィック ドライバーをインストールする (簡単なインストール方法)

Ubuntu で nvidia グラフィック カード ドライバーをインストールします。同じ方法で ...

Vue で Axios 非同期リクエスト API を使用する方法

目次基本的なHTTPリクエストの設定async/await を使用した Axios Axios によ...

Docker Gitlab+Jenkins+Harborは永続的なプラットフォーム運用を構築します

CI/CD の概要CIワークフロー設計Gitコードバージョン管理システムはコマンドラインでのみ管理で...

フォームファイル選択ボックスのスタイルをカスタマイズする例

コードをコピーコードは次のとおりです。 <!DOCTYPE html> <html...

Tomcatソースコードをideaにインポートする方法

目次1. Tomcatコードをダウンロードする2. ダウンロード後のディレクトリ構造3. ソースコー...

仮想スクロールを簡単に実装するためのVueサンプルコード

目次序文ローリング原理成し遂げるソースコード参照する序文モバイル Web ページの日常的な開発では、...

Dockerでランナーコンテナを構成する方法

1. ランナーコンテナを作成する mk@mk-pc:~/Desktop$ docker run -d...

dockerを使用してdubboプロジェクトをデプロイする方法

1. まず、Springbootを使用して簡単なDubboテストプログラムを構築し、関連する依存関係...

nginxでgzip圧縮を有効にする手順を完了する

目次序文1. gzip圧縮を設定する2. 詳細設定3. nginxサービスを再起動する要約する序文ウ...

Vue+canvas は、ウォーターフォール チャートを上から下までリアルタイムに更新する効果を実現します (QT と同様)

早速ですが、デモ画像をご紹介します。実装されている機能は、左側に凡例、右側にウォーターフォール チャ...

vue3 のストアを使用してスクロール位置を記録する例

目次全体的な効果コンテナのスクロールイベントをリッスンするストア内の構成ページが戻るときのスクロール...

MySQL Installer Community 5.7.16 インストール詳細チュートリアル

この記事では、MySQL インストールの詳細なチュートリアルを記録し、全員と共有します。 1. バー...