7つのストレージ構造とディスクパーティショニング、プライマリパーティションスワップパーティションの役割!

ファイルストレージ構造(FHS標準)

Linuxシステムでは、ディレクトリ、文字デバイス、ブロックデバイス、ソケット、プリンタなどがすべてファイルに抽象化されます。つまり、「Linuxシステムのすべてがファイルです」。私たちが通常扱うのはファイルですが、どのようにそれらを見つける必要がありますか?Windowsオペレーティングシステムでは、ファイルを検索する場合は、ファイルが配置されているディスクパーティションを入力し(ここではDドライブを想定)、パーティションの下の特定のディレクトリを入力して、最後にファイルを検索する必要があります。ただし、LinuxシステムにはC / D / E / Fなどのドライブ文字はありません。Linuxシステムのすべてのファイルは「ルート(/)」ディレクトリから始まり、ファイルシステム階層標準(FHS)に従ってツリーを採用します。ファイルを格納するための形状構造、および共通ディレクトリの目的を定義します。さらに、Linuxシステムのファイル名とディレクトリ名は、大文字と小文字が厳密に区別されます。たとえば、root、rOOt、Root、およびrooTはすべて異なるディレクトリを表し、ファイル名にスラッシュ(/)を含めることはできません。Linuxシステムのファイルストレージ構造を図に示します。


ここに写真の説明を挿入

ヒント:FHSは、ユーザーが保存するファイルの種類と場所を定義しますが、ユーザーはそれに準拠する必要はありません。これは単なる定義であり、銃ではありません。

Linuxシステムの一般的なディレクトリ名と対応するコンテンツ

ここに写真の説明を挿入

物理デバイスの命名規則(udev)

すべてがLinuxシステムのファイルであり、ハードウェアデバイスも例外ではありません。ファイルなので、ファイル名が必要です。システムカーネルのudevデバイスマネージャーは、ハードウェア名を自動的に標準化します。目的は、ユーザーがデバイスファイルの名前からデバイスの一般的な属性とパーティション情報を推測できるようにすることです。これは、なじみのないデバイスに特に便利です。さらに、udevデバイスマネージャーのサービスは常にデーモンとして実行され、カーネルから送信された信号をリッスンして、/ devディレクトリ内のデバイスファイルを管理します。Linuxシステムの一般的なハードウェアデバイスのファイル名を表に示します。
ここに写真の説明を挿入
現在IDEデバイスはまれであるため、一般的なハードディスクデバイスは「/ dev / sd」で始まります。また、ホストは複数のハードディスクを持つことができるため、システムは〜pを使用して16の異なるハードディスクを表します(デフォルトの割り当てはaから始まり、26を超えるハードディスクがある場合、最初の26はsd [az]、27番目の名前になります。 52はsd [aa-az]、53-78はsd [ba-bz]などの名前が付けられており、ハードディスクのパーティション番号も非常に特殊です。

  1. プライマリパーティションまたは拡張パーティションの数は1から始まり、4で終わります。
  2. 論理パーティションは番号5で始まります。
  3. ストレージデバイスの名前は、システムカーネルの認識シーケンスによって決定されるaから始まる順序で名前が付けられ、デバイスがどのスロットにあるかとは関係ありません。
  4. パーティション番号はパーティションの数を表すものではありません。パーティションの番号コードは必ずしも延期されるとは限りません。また、手動で指定することもできます。

-[]ハードディスクの命名規則

ここに写真の説明を挿入
これは、コンピューターにハードディスクデバイスが搭載されているため、毎回やり直すのではなく、ゲームのプレイ中またはゲームのクリア後にいつでも保存できます。ハードディスクデバイスは多数のセクターで構成されており、各セクターの容量は512バイトです。その中で、最初のセクターが最も重要であり、マスターブートレコードとパーティションテーブル情報を保持します。最初のセクターに関する限り、マスターブートレコードは446バイト、パーティションテーブルは64バイト、ターミネーターは2バイトを占める必要があります。このうち、パーティションテーブルに記録されるパーティション情報ごとに16バイトが必要です。最初のセクターに書き込むことができるパーティション情報は最大で4つだけであり、これらの4つのパーティションは4つのプライマリパーティションです。第1セクターのデータ情報を図に示します。
ここに写真の説明を挿入

ファイルシステムとデータ

共通ファイルシステム

** Ext3:**は、システムが異常にダウンしたときのファイルシステムのデータ損失を回避し、データの不整合やエラーを自動的に修復できるログファイルシステムです。ただし、ハードディスクの容量が大きい場合、必要な修復時間は非常に長くなり、データが失われない保証はありません。ディスク全体の各書き込みアクションの詳細を事前に記録するため、異常なダウンタイムの後に中断された部分までさかのぼって、修復を試みることができます。

** Ext4:** RHEL 6システムのデフォルトのファイル管理システムとしてExt3の改良版であり、最大1EB(1EB = 1,073,741,824GB)のストレージ容量をサポートし、サブディレクトリの数に制限はありません。さらに、Ext4ファイルシステムはブロックブロックをバッチで割り当てることができるため、読み取りと書き込みの効率が大幅に向上します。

** XFS:**は、高性能のログファイルシステムであり、RHEL 7のデフォルトのファイル管理システムです。その利点は、予期しないダウンタイムの後で特に明白です。つまり、破損している可能性のあるファイルをすばやく復元できます。さらに、強力なログ機能は、非常に低コストのコンピューティングとストレージのパフォーマンスのみを使用します。また、サポートされる最大ストレージ容量は18EBで、ほぼすべてのニーズを満たします。

1. Inodeは、ファイルのアクセス許可と属性レコードを格納します。各ファイルは、独立したinodeテーブルを占有します。テーブルのサイズはデフォルトで128バイトであり、次の情報が記録されます。

该文件的访问权限(read、write、execute);
该文件的所有者与所属组(owner、group);
该文件的大小(size);
该文件的创建或内容修改时间(ctime);
该文件的最后一次访问时间(atime);
该文件的修改时间(mtime);
文件的特殊权限(SUID、SGID、SBIT);
该文件的真实数据地址(point)。

2.ブロックには、ファイルの実際のコンテンツが格納されます(サイズは1KB、2KB、4KBです)。

文件很小(1KB),但依然会占用一个block,因此会潜在地浪费3KB。
文件很大(5KB),那么会占用两个block(5KB-4KB后剩下的1KB也要占用一个block)。

VFS仮想ファイルシステム:

さまざまなファイルシステムは、VFSの下でその特性と詳細を隠します。ファイルを操作するとき、ユーザーはVFSを均一に操作するため、ユーザーは基盤となるハードディスク構造を気にする必要がありません。
ここに写真の説明を挿入

ハードウェアデバイスをマウントします

1.パーティション

fdiskコマンド:ディスクパーティションの管理に使用されます。形式:fdisk [ディスク名]。パーティションの追加、削除、変換などの機能を統合した「ワンストップパーティションサービス」を提供します。これはインタラクティブなコマンドです。

参数	作用
m	查看全部可用的参数
n	添加新的分区
d	删除某个分区信息
l	列出所有可用的分区类型
t	改变某个分区的类型
p	查看分区表信息
w	保存并退出
q	不保存直接退出

新しいパーティションを追加します。

[root@lizhiqiang Desktop]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xc60ca334.

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xc60ca334

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-41943039, default 2048): 
Using default value 2048
Last sector, +sectors or +size{
    
    K,M,G} (2048-41943039, default 41943039): +2G
Partition 1 of type Linux and of size 2 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

新しいパーティションを表示します。

[root@lizhiqiang Desktop]# df -h
Filesystem                        Size  Used Avail Use% Mounted on
/dev/mapper/rhel_lizhiqiang-root   18G  3.0G   15G  17% /
devtmpfs                          985M     0  985M   0% /dev
tmpfs                             994M   84K  994M   1% /dev/shm
tmpfs                             994M  8.9M  986M   1% /run
tmpfs                             994M     0  994M   0% /sys/fs/cgroup
/dev/sda1                         497M  119M  379M  24% /boot

新しいパーティションをフォーマットします。

[root@lizhiqiang Desktop]# mkfs.xfs /dev/sdb
mkfs.xfs: /dev/sdb appears to contain a partition table (dos).
mkfs.xfs: Use the -f option to force overwrite.
[root@lizhiqiang Desktop]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=256    agcount=4, agsize=131072 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=524288, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

新しいパーティションをマウントします。

[root@lizhiqiang /]# mkdir opo
[root@lizhiqiang /]# mount /dev/sdb1 /opo

システム起動項目に追加:

vim /etc/fstab 

ここに写真の説明を挿入
再起動して保存してください!新しいパーティションが正常に作成されました。

2.フォーマット

mkfsコマンド:フォーマット操作に使用されます。形式:mkfs。ファイルタイプディスクデバイスファイル。

3.マウントおよびアンマウント

①マウント操作は、ハードウェアデバイスとディレクトリ
関連付けを行う操作です。②アンインストール操作は、ハードウェアデバイスとディレクトリ関連付けを解除する操作ですファイルシステムをアンマウントすると、ハードウェアデバイスのリソースが使用されなくなります。

デバイスディレクトリをマウントします

-a:挂载所有在/etc/fstab中定义的文件系统
-t:指定文件系统的类型

umountデバイスまたはディレクトリをアンマウントします

mountコマンドを使用してマウントします。再起動後、システムは無効になります。永続的にマウントするには、/ etc / fstabファイルにマウント情報を追加する必要があります。/ etc / fstabファイルで、マウント情報の形式:「デバイスファイルのマウントディレクトリの形式タイプのアクセス許可オプションのバックアップまたはセルフチェックを行いますか」。

マウント情報形式の各フィールドの意味:

字段	   意义
设备文件	   一般为设备的路径+设备名称,也可以写唯一识别码(UUID,Universally Unique Identifier)
挂载目录	   指定要挂载到的目录,需在挂载前创建好
格式类型	   指定文件系统的格式,比如Ext3、Ext4、XFS、SWAP、iso9660(此为光盘设备)等
权限选项	   若设置为defaults,则默认权限为:rw, suid, dev, exec, auto, nouser, async
是否备份	   若为1则开机后使用dump进行磁盘备份,为0则不备份
是否自检	   若为1则开机后自动进行磁盘自检,为0则不自检

dfコマンド:マウントステータスとハードディスクの使用状況情報を表示するために使用されます。一般的に使用されるパラメーターは-hです。形式:df-h。
duコマンド:ファイルデータの使用状況を表示するために使用されます。形式:du [オプション] [ファイル]。

du -sh /*        #查看在Linux系统根目录下所有一级目录分别占用的空间大小
du -sh /newFS    #查看/newFS下的内容占了多少容量

ここに写真の説明を挿入

スワップパーティションを追加します

SWAP(swap)パーティションは、事前にハードディスク内の一定量のスペースを分割し、一時的に未使用のデータをメモリに一時的に格納して、物理メモリスペースをよりアクティブなプログラムサービス用に解放する技術です。 、その設計目的は、不十分な実物理メモリの問題を解決することです。ただし、スワップパーティションは結局、ハードディスクデバイスを介してデータの読み取りと書き込みを行うため、速度は物理メモリよりも明らかに遅いため、スワップパーティションリソースは、実際の物理メモリが使い果たされた場合にのみ呼び出されます。

スワップパーティションを作成するプロセスは、前述のストレージデバイスをマウントして使用するプロセスと非常によく似ています。/ dev / sdbストレージデバイスをパーティション分割する前に、スワップパーティションの分割について説明する必要があります。実稼働環境では、スワップパーティションのサイズは通常、実際の物理メモリの1.5〜2倍です。

スワップパーティションを追加するプロセス

1.
ここに写真の説明を挿入
最初に仮想マシン新しいハードディスクを作成します。仮想マシンを追加した後、仮想マシンを再起動し、スワップパーティションを追加します。

[root@lizhiqiang /]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xc60ca334

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (2-4, default 2): 2
First sector (4196352-41943039, default 4196352): 
Using default value 4196352
Last sector, +sectors or +size{
    
    K,M,G} (4196352-41943039, default 41943039): +6G
Partition 2 of type Linux and of size 6 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

成功後にメモリを確認する

[root@lizhiqiang /]# free -h
             total       used       free     shared    buffers     cached
Mem:          1.9G       1.1G       828M       9.8M       1.6M       257M
-/+ buffers/cache:       900M       1.1G
Swap:         2.0G         0B       2.0G

新しいスワップパーティションをフォーマットし、フォーマットできないことを確認します。この時点で、partprobeを2回実行してフォーマットします。

[root@lizhiqiang /]# mkswap /dev/sdb2
/dev/sdb2: No such file or directory
[root@lizhiqiang /]# partprobe
[root@lizhiqiang /]# partprobe
[root@lizhiqiang /]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 6291452 KiB
no label, UUID=474d933b-b93d-41b9-82dd-7261dc676ccf

新しいスワップパーティションをマウントします。

[root@lizhiqiang /]# swapon /dev/sdb2
[root@lizhiqiang /]# free -h
             total       used       free     shared    buffers     cached
Mem:          1.9G       1.1G       821M       9.8M       1.6M       257M
-/+ buffers/cache:       906M       1.1G
Swap:         8.0G         0B       8.0G

スワップパーティションをシステム起動項目に追加します。

vim /etc/fstab 进入设置开机启动项

ここに写真の説明を挿入
セットアップが完了し、仮想マシンを再起動します。空き-hパーティションが完了しました。

shutdown -h now仮想マシンをシャットダウンします!

shutdown -t -s 0マシンをシャットダウンしてください!

おすすめ

転載: blog.csdn.net/SYH885/article/details/109130671