Linux ディスクのマウント、パーティション分割、容量拡張操作を実装する方法

Linux ディスクのマウント、パーティション分割、容量拡張操作を実装する方法

基本概念

操作の前に、まずいくつかの基本的な概念を理解する必要があります

ディスク

Linux システムでは、すべてのデバイスはファイルの形式で保存されます。デバイスは通常、sda、sda1、sda2、…、sdb、sdb1、…、hda、hdb の形式で /dev ディレクトリに保存されます。現在、ほとんどのデバイスは「sd」という名前が付けられていますが、非常に古いハードドライブは「ha」という名前が付けられていました。

sda: 最初のハードディスク。ディスクがパーティション化されている場合は、sda1 (最初のパーティション)、sda2 などになります。

sdb: 2 番目のハードディスク。パーティション分割後、sdb1、sdb2 などになります。

パーティション

パーティション分割の目的は管理を容易にすることです。たとえば、Windows システムでは通常、C ドライブ、D ドライブ、E ドライブなどに分割します。

Linux では、プライマリ パーティションを 4 つしか作成できません。さらにパーティションを作成する必要がある場合は、論理パーティションを作成する必要があり、論理パーティションは 1 つのプライマリ パーティションを占有する必要があります。

ファイルシステム

Linux におけるファイルシステムとは、パーティションの種類です。Windows では、NTEF、FAT32 などがあります。Linux では、Ext2、Ext3、Ext4、Linux swap、proc、sysfs、tmpfs などがあります。マウント名から、現在マウントされているファイルシステムを確認できます。

形式

パーティションを作成した後、1 つのステップはパーティションをフォーマットすることです。実際、これは Windows システムでも同じです。パーティションを作成した後、パーティションをフォーマットする必要もあります。パーティションは、特定のファイル タイプにフォーマットされた後にのみ使用できます。

マウント

Windows では、パーティションはフォーマット後に使用できますが、Linux システムでは、パーティションを特定のパスにマウントする必要があります。

一般的なコマンド

lsblk 現在のディスクステータスを表示する
df -lh ファイルシステムのステータスを表示する -l マウントポイントを表示する
parted -lはファイルシステムの種類を一覧表示します
fdisk -l 現在マウントされていないハードディスクを表示する

新しいハードドライブをマウントする

新しいハードディスクをマウントする基本的な考え方は、パーティションを作成し、ファイルシステムを作成し、マウントすることです。

1. 新しいハードドライブを確認する

まず、ハードディスクの状態を確認します。

fdisk -l

で:

ディスク /dev/sdc にはディスクの下に有効なパーティション テーブルが含まれていません。のようなメッセージが表示される場合、またはディスクの下に sdb1 sdb2 のようなメッセージが表示されない場合は、ディスクがマウントされていないことを意味します。

ここではハードディスク名が/dev/sdbであると仮定します。

2. パーティションを作成する

dfisk /dev/sdb

プロンプトに従って、「n」、「p」、「1」の順に入力し、Enterキーを2回押して、「wq」と入力します。

これは、sdb ディスク全体と同じサイズの新しいプライマリ パーティション (1) を作成し、そこに書き込むことを意味します。

注: 簡潔にするために、上記の操作ではプライマリ パーティションを 1 つだけ作成します。実際、ディスクには最大 4 つのプライマリ パーティション (1 つの拡張パーティションを含む) を作成できます。1 ~ 4 はすべてプライマリ パーティションです。パーティションを拡張パーティションとして使用することもできます (df -lh で表示されるシステムは Extended です)。

この時点ではディスクはパーティション分割されていますが、ファイル システムはまだ存在せず、ディスクはまだ使用できません。

3. システムに書き込む

mkfs.ext4 /dev/sdb

このコマンドはディスクをフォーマットし、ファイルシステムを書き込みます

4. マウント

たとえば、/dataの下にマウントします

mkdir /data # このステップが存在する場合はスキップし、mount /dev/sdb /data

5. 起動時に自動マウントを設定する

上記は一時的なマウントであり、起動時に自動的にマウントされるように設定する必要があります。

vim /etc/fstab


# 次に、コンテンツの最後に行を追加します (ファイルの種類が対応している必要があることに注意してください)。

/dev/sdb /data ext4 デフォルト 0 0

スケーリング

既存のディレクトリへのマウントについて

マウントするディレクトリが空でない場合、ファイルシステムがマウントされた後、元のディレクトリの内容は一時的に消えます。上書きされるのではなく、一時的に非表示になります。新しいパーティションがアンマウントされると、元のディレクトリの元の内容が再び表示されます。

既存のディレクトリを永続的にマウントする場合は、新しいハードディスクにファイルシステムを作成した後、一時ディレクトリにマウントし、拡張するディレクトリをこの一時ディレクトリにコピーし、拡張するディレクトリを削除して一時マウントポイントをアンマウントし、拡張するディレクトリに再マウントします。例:

# たとえば、/varを展開するには

# ファイルシステムを作成したら、一時的なマウントポイントストレージを作成します
mkdir /storage

# /dev/sdb1 を /storage にマウントします mount /dev/sdb1 /storage

# /var の下にあるすべての内容を新しいハードディスクにコピーします cp -pdr /var /storage
# または、/var ディレクトリで実行します: find . -depth -print | cpio - pldvm /temp
# 現在の /var ディレクトリの内容を削除します rm -rf /var/*
# ハードディスクを/varディレクトリに再マウントします。umount /dev/sdb1
/dev/sdb1 /var をマウントする

# ディスクがビジー状態の場合は、fuser を使用してディスクを使用しているプログラムを見つけて終了します。

フューザー -m -v /var
フューザー -m -v -i -k /var

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux ディスク パーティションの実装の原理と方法の分析
  • Linux ディスクとディスク パーティションを理解するための記事
  • Linux システム ディスクのフォーマットとスワップ パーティションの手動追加
  • Linux仮想マシンのルートパーティションディスク拡張スペースレコードの詳細な説明
  • Linux ディスク パーティションの実際的な例 (必読)
  • LINUX ディスクのパーティション分割、フォーマット、マウント、アンインストールの詳細なプロセス
  • 2T を超える Linux ディスクで GPT パーティションを使用する方法
  • Linux parted ディスク パーティション実装手順の分析

<<:  VMWare Linux MySQL 5.7.13 のインストールと設定のチュートリアル

>>:  WeChatアプレットを少なく使う方法(最適な方法)

推薦する

JavaScript でエラーが発生しやすい演算子操作の概要

目次算術演算子異常状況1: 特殊値リテラルを含む操作異常な状況 2: 他の種類のデータが数学演算に関...

MySQL バッチ追加および保存メソッドの例

ストレステストにログインする際には、多くの異なるユーザーが必要となり、データベースに新しいデータを追...

nginx を https をサポートするように設定するためのサンプル コード

1. はじめにあなたのウェブサイトはまだインターネット上に公開されたままですか?ここでは、HTTPS...

Dockerコンテナのデータを復元する方法

プロジェクトのテスト環境データベースのデータが失われてしまったので、記録しておきたいと思います。当時...

建国記念日が近づいています。JS を使用して、建国記念日風のアバターを生成する小さなツールを実装します。実装プロセスの詳細な説明

目次1. ページレイアウト2. 画像のアップロードと表示3. キャンバスを初期化する4. テンプレー...

Apache Spark 2.0ジョブは完了するまでに長い時間がかかります

現象Apache Spark 2.x を使用すると、Spark ジョブがすべて完了しているにもかかわ...

テキストエリア テキストエリアの幅と高さ 幅と高さの自動適応実装コード

コードをコピーコードは次のとおりです。 <HTML> <ヘッド> <T...

H5 WeChatパブリックアカウント認証を実装するための簡単な手順

序文昨日、h5 WeChat認証の実装が必要なプロジェクトがありました。したがって、この機能を完了す...

Linux の vsftpd サービス構成の簡単な分析 (匿名、ユーザー、仮想ユーザー)

vsftpd の概要vsftpd は「very secure FTP daemon」の略称で、セキ...

スタックメニューを実装するためのjQueryプラグイン

jQueryプラグインの毎日の積み重ねメニュー、参考までに、具体的な内容は次のとおりです。スタックメ...

WeChatアプレットコンポーネント開発:視覚的な映画座席選択機能

目次1. はじめに1. コンポーネントデータ2. コンポーネントページのレイアウト1. ロゴエリアの...

純粋な CSS カスタム複数行省略記号の問題 (原理から実装まで)

テキストオーバーフローを表示するにはどうすればいいですか? どのようなニーズがありますか?単一行です...

Vue Element フロントエンドアプリケーション開発の動的メニューとルーティングの関連付け処理

目次概要1. メニューとルーティング処理2. メニューとルートリスト3. ログインプロセスの処理概要...

MySQLの起動失敗の解決策

MySQLの起動失敗の解決策MySQLを起動できませんmysqlを停止した後、いくつかの操作(ホスト...