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

推薦する

JavaScript キャンバスはマウスの動きに合わせてボールを動かすことを実装します

この記事の例では、マウスに従ってボールを動かすjsの具体的なコードを参考までに共有しています。具体的...

Windows ベースの MySQL 8.0.12 のインストール

このチュートリアルは Windows システムにのみ適用されます。インストールしたがまだインストール...

Nexus を使用して Docker リポジトリを作成する方法

公式の Docker レジストリを使用して作成されたウェアハウスでは、イメージを削除してもデフォルト...

Mailtoを使えばHTMLでメールを送るのは簡単

最近、顧客のフッターメールボックスにクリックして送信するメール機能を追加しました。Baidu で検索...

ethers.js を使用して Solidity スマート コントラクトをデプロイする方法

Ethereum 上で DApps を開発したことがある場合は、フロントエンド JavaScript...

ウェブ開発者やデザイナーにとって欠かせないオンラインウェブツールとアプリケーション

これまでの記事で、フロントエンド開発者にとって必須のツール、スクリプト、リソースのコレクションを紹介...

組み込み Linux 開発環境で ping と nfs を構築するためのソリューション

1. 組み込みソフトウェアレベル 1) ブートローダ -> ブートローダ組み込みシステム全体の...

MySQL Innodbの主な機能挿入バッファ

目次挿入バッファとは何ですか?挿入バッファのトリガー条件は何ですか?なぜ一意のインデックスにできない...

MySqlデータベースの基礎知識のまとめ

目次基本的なデータベース操作2) データベースを表示する3) データベースを選択する4) データベー...

Linux seqコマンドの使い方

1. コマンドの紹介seq (シーケンス) コマンドは、指定されたステップ サイズに従って、開始番号...

SpringBoot を MySQL に接続してデータを取得し、バックエンド インターフェースに書き込む方法

目次1. 新しいプロジェクトを作成する2. 依存関係を追加する3. SpringコンテナにDrive...

Vue は QR コード スキャン機能を実装します (スタイル付き)

必要: vue を使用して QR コードのスキャンを実現します。プラグイン: QRコードリーダー;プ...

練習と面接のための Linux シェル スクリプトのヒント 9 つを共有する

予防1) 先頭にインタープリターを追加します: #!/bin/bash 2) 構文のインデントに 4...

docker compose idea CreateProcess error=2 システムは指定されたファイルを見つけることができません

Docker の作成Compose の紹介Compose は、マルチコンテナ Docker アプリケ...

MySQLの権限とインデックスの詳細な説明

mysql の権限とインデックスmysql の最高権限ユーザーは root です。 CREATE U...