記事ディレクトリ
1. ディスクの基本
1.1 ディスク構造
硬盘的物理结构
●大皿: ハードディスクには複数のプラッターがあり、大皿あたり 2 面
●磁気ヘッド:片側に 1 つのヘッド
硬盘的数据结构
●セクタ: ディスクは複数のセクターに分割され、各セクターは512バイトを格納データ、ハードディスクの最小記憶単位。
●追跡:同じ大皿異なる半径の同心円、ディスクの表面に磁気ヘッドによって描かれた円形の軌跡です。
●シリンダー:異なるディスクの半径は同じですで構成される円筒面同じ半径の円の複数のトラックで構成されています。
-
ハードディスクの記憶容量=ヘッド数×トラック数(シリンダー)×1トラックあたりのセクター数×1セクターあたりのバイト数(512バイト)
-
使えるシリンダー/ヘッド/セクター来て独自のポジショニングディスク上のすべてのリージョン
-
ディスク インターフェイス タイプ
● IDE、SATA、SCSI、SAS、ファイバーチャネル
インターフェイス タイプ | 特徴 |
---|---|
IDE | パラレルデータケーブルマザーボードとハードディスクを接続する、干渉防止が不十分であり、ケーブルが多くのスペースを占めるため、コンピューターの内部放熱に役立ちません。徐々にSATAに置き換えられています |
SATA | 強力な抗干渉、ホットプラグおよびその他の機能、高速、強力なエラー修正機能をサポート |
SCSI | 小型コンピュータシステムインターフェース、SCSIハードディスクなど幅広くワークステーション クラスの PC とサーバー,データ転送中の CPU 使用率が低く、速度が速い、ホットスワップなどをサポート |
SAS | これは、SATA ハードディスクと同じ新世代の SCSI テクノロジーです。より高速な伝送速度のためにシリアル技術を採用、最大 6Gb/秒 |
1.2MBR
マスター ブート レコード (MBR: マスター ブート レコード)
MBRはハードディスクにあります最初の物理セクターで
MBR には、ハードディスクのマスター ブート プログラムとハードディスク パーティション テーブルが含まれています。
●パーティションテーブル4 つのパーティション レコード領域があり、各パーティション レコード領域は 16 バイトを占有します。
● リナックス中将ハードディスクやパーティションなどのデバイスはファイルとして表されます
1.3 ディスクのパーティション構造
ハードディスクにプライマリ パーティションの数は 4 つだけです
プライマリ パーティションと拡張パーティションのシーケンス番号は 1 ~ 4 に制限されています
拡張パーティションは論理パーティションに分割されます
論理区画のシリアル番号は常に 5 から始まります
2. ファイルシステムの種類
2.1 XFS ファイルシステム
●収納ファイルとディレクトリのデータの分割
●高性能のジャーナリング ファイル システムで、特に大きなファイルの処理に適しています、数百万テラバイトのストレージスペースをサポートできます
●CentOS 7 システムでデフォルトで使用されるファイル システム
2.2 SWAP、スワップファイルシステム
● Linux システム用のスワップ パーティションを作成します。
●一般物理メモリの1.5~2倍に設定
Linux でサポートされているその他のファイルシステム タイプ
●EXT4、FAT32、NTFS、LVM
注意:
CentOS 6使用されるデフォルトのファイル システムは次のとおりです。EXT4/3;CentOS 7使用されるデフォルトのファイル システムは次のとおりです。XFS.
2.3 fdisk コマンド
fdisk コマンド
ディスク パーティションの表示または管理
fdisk -l [ディスク デバイス] または fdisk [ディスク デバイス]
交互模式中的常用指令
m、p、n、d、t、w、q
[root@clr ~]# fdisk -l (/dev/sda) #查看系统中磁盘分区情况,sd表示使用SCSI设备
磁盘 /dev/sda:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00099d02
设备 Boot Start End Blocks(块大小) Id(系统对应ID号) System(系统类型)
/dev/sda1 *(引导分区) 2099200 79771647 38836224 83 Linux
/dev/sda2 117698560 125829119 4065280 5 Extended
/dev/sda5 117700608 125829119 4064256 82 Linux swap / Solaris(交换分区)
2.4 新しいハードディスクを作成する
新增一块硬盘,步骤如下所示:
設定 - ハードディスク - 追加;
[ハードディスク] を選択し、[次へ] を選択します。
ディスク サイズを 40GB に変更します。
ファイナライズします。
再起動して再起動し、リフレッシュ後に新しく追加されたハードディスク パーティションを確認します。
[root@clr ~]# fdisk -l
磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区 #新增加的第二块硬盘sdb,b代表是第二块
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sda:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00099d02
设备 Boot Start End Blocks Id System
/dev/sda1 * 2099200 79771647 38836224 83 Linux
/dev/sda2 117698560 125829119 4065280 5 Extended
/dev/sda5 117700608 125829119 4064256 82 Linux swap / Solaris
ディスク パーティションのステータスをオンラインで更新します。
[root@clr ~]# echo "- - -" > /sys/class/scsi_host/host0/scan #在线刷新磁盘命令
[root@clr ~]# echo "- - -" > /sys/class/scsi_host/host1/scan
[root@clr ~]# echo "- - -" > /sys/class/scsi_host/host2/scan
[root@clr ~]# fdisk -l
磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sda:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00099d02
设备 Boot Start End Blocks Id System
/dev/sda1 * 2099200 79771647 38836224 83 Linux
/dev/sda2 117698560 125829119 4065280 5 Extended
/dev/sda5 117700608 125829119 4064256 82 Linux swap / Solaris
磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区 #新增加的第三块磁盘分区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
ディスク /dev/sdb を再度パーティション分割します。
3.ファイルシステムを作成する
3.1 mkfs
新しいハードディスクを分割した後、分割する必要がありますフォーマットする(つまり、ファイル システムを作成します)、それを Linux システムにマウントします。指定したディレクトリその後、ファイルやディレクトリなどのデータを保存するために使用できます。
mkfs命令
示例
[root@clr ~]# ls /sbin/mkfs* #查看以mkfs开头的所有文件
/sbin/mkfs /sbin/mkfs.cramfs /sbin/mkfs.ext3 /sbin/mkfs.fat /sbin/mkfs.msdos /sbin/mkfs.xfs
/sbin/mkfs.btrfs /sbin/mkfs.ext2 /sbin/mkfs.ext4 /sbin/mkfs.minix /sbin/mkfs.vfat
mkfs -t xfs [指定されたパーティション]: 指定されたパーティションを xfs タイプとしてフォーマットします。
[root@clr ~]# mkfs -t
btrfs cramfs ext2 ext3 ext4 fat minix msdos vfat xfs
[root@clr ~]# mkfs -t xfs /dev/sdb1 #将/dev/sdb指定为xfs类型的文件系统
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242880, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
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
mkfs.ext4 [指定されたパーティション]: 指定されたパーティションを ext4 タイプとしてフォーマットします。
[root@clr ~]# mkfs.
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat
mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs
[root@clr ~]# mkfs.ext4 /dev/sdb5 #将/dev/sdb5指定为ext4类型的文件系统
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: 完成
mkswap コマンド
mkswap [パーティション デバイス]: 指定されたスワップ パーティションのファイル システムをフォーマットします。
[root@clr ~]# mkswap /dev/sdc1 #为交换分区/dev/sdc1创建文件系统
正在设置交换空间版本 1,大小 = 5242876 KiB
无标签,UUID=90f22d9c-46b4-4faa-a4ae-7ee42ee0a439
free -m : システム メモリを表示します。-m ユニファイド ユニット、メモリをメガバイト単位で表示します。
[root@clr ~]# free -m #查看系统内存情况,-m统一单位,以兆为单位查看内存
total used free shared buff/cache available
Mem: 3931 772 2446 17 713 2921
Swap: 3968 0 3968
free -h : 人道的な方法でメモリ状況を表示します
[root@clr ~]# free -h #以人性化方式,查看内存情况
total used free shared buff/cache available
Mem: 3.8G 772M 2.4G 17M 713M 2.9G
Swap: 3.9G 0B 3.9G
swapon [パーティション デバイス]: 新しく追加されたスワップ パーティションを有効にします。
[root@clr ~]# swapon /dev/sdc1 #启用新增加的交换分区/dev/sdc1
[root@clr ~]# free -m
total used free shared buff/cache available
Mem: 3931 775 2442 17 713 2917
Swap: 9088 0 9088
[root@clr ~]# free -h
total used free shared buff/cache available
Mem: 3.8G 775M 2.4G 17M 713M 2.8G
Swap: 8.9G 0B 8.9G
swapon -s: システム内でスワップ パーティションを提供するデバイスを確認します。
[root@clr ~]# swapon -s #查看系统中的交换分区由哪几个设备提供
文件名 类型 大小 已用 权限
/dev/sda5 partition 4064252 0 -2
/dev/sdc1 partition 5242876 0 -3
swapoff [パーティション デバイス]: 指定されたスワップ パーティション デバイスを無効にします。
[root@clr ~]# swapoff /dev/sdc1 #停用指定的交换分区设备/dev/sdc1
[root@clr ~]# swapon -s #查看系统中的交换分区由哪几个设备提供
文件名 类型 大小 已用 权限
/dev/sda5 partition 4064252 0 -2
swapoff -a : システム内のすべてのスワップ パーティションを無効にします。
[root@clr ~]# swapoff -a #停用系统中所有的交换分区
[root@clr ~]# free -h #查看系统中的交换分区由哪几个设备提供
total used free shared buff/cache available
Mem: 3.8G 771M 2.4G 17M 714M 2.9G
Swap: 0B 0B 0B #此时可以看到洗系统中的交换分区为0
3.2 ファイルシステムのマウントとアンマウント
mount命令
[root@clr ~]# mkdir /data1
[root@clr ~]# ls /
admin boot dev home lib64 mnt proc run srv tmp var
bin data1 etc lib media opt root sbin sys usr
[root@clr ~]# mount /dev/sdb1 /data1/ #将/dev/sdb1硬盘分区挂载到/data1目录下
[root@clr ~]# df #查看磁盘挂载情况
文件系统 1K-块 已用 可用 已用% 挂载点
devtmpfs 1997348 0 1997348 0% /dev
tmpfs 2013076 0 2013076 0% /dev/shm
tmpfs 2013076 12736 2000340 1% /run
tmpfs 2013076 0 2013076 0% /sys/fs/cgroup
/dev/sda1 38817264 5684776 33132488 15% /
tmpfs 402616 24 402592 1% /run/user/0
/dev/sr0 4600876 4600876 0 100% /run/media/root/CentOS 7 x86_64
/dev/sdb1 20961280 32992 20928288 1% /data1 #已成功将/dev/sdb1 挂载到/data1目录下
mount -o loop [ISO イメージ ファイル] [マウント ポイント ディレクトリ]: 指定したディレクトリにイメージ ファイルをマウントします。
[root@clr /mnt]# cd /opt #切换到/opt目录
[root@clr /opt]# mount -o loop CentOS-7-x86_64-DVD-2009-7.9.iso /mnt #将镜像文件挂载到指定目录/mnt
mount: /dev/loop0 写保护,将以只读方式挂载
[root@clr /opt]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 13M 2.0G 1% /run
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 38G 9.4G 28G 26% /
tmpfs 394M 12K 394M 1% /run/user/42
tmpfs 394M 0 394M 0% /run/user/0
/dev/sdb1 20G 33M 20G 1% /data
/dev/sdb5 9.8G 37M 9.2G 1% /data2
/dev/loop0 4.4G 4.4G 0 100% /mnt #此处查看可以看到,镜像文件已经挂载成功
[root@clr /opt]# cd /mnt #切换到挂载点所在目录
[root@clr /mnt]# ls #查看,以下都是新挂载的ISO镜像文件
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
umount -lf [マウント ポイント ディレクトリ]: 指定したディレクトリを強制的にアンインストールすることを意味します。
[root@clr /mnt]# cd /data
[root@clr /data]# umount /data
umount: /data:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[root@clr /data]# umount -lf /data
[root@clr /data]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 13M 2.0G 1% /run
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 38G 9.4G 28G 26% /
tmpfs 394M 12K 394M 1% /run/user/42
tmpfs 394M 0 394M 0% /run/user/0
/dev/sdb5 9.8G 37M 9.2G 1% /data2
/dev/loop0 4.4G 4.4G 0 100% /mnt
構成ファイルを使用して、永続的なマウントを実現できます。
#
# /etc/fstab
# Created by anaconda on Thu Mar 23 00:41:12 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=bafe91da-4fb0-4d72-b66e-4f98f1645b49 / xfs defaults 0 0
UUID=54c26300-4b67-4510-a83f-07da2560c5a8 swap swap defaults 0 0
/dev/sdb1 /data xfs defaults 0 0
UUID=b53750a3-dacd-490e-8efd-d57c7f079ab9 /data2 ext4 defaults 0 0
/dev/sr0 /mnt iso9660 defaults 0 0
起動時に自動的に実行されるコマンドを格納するために使用されるファイル。
[root@clr /]# vim /etc/fstab #将需要开机自启动的参数放置在/etc/fstab文件中
[root@clr /]# vim /etc/profile
[root@clr /]# vim ~/.bash_profile
[root@clr /]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 4月 5 17:34 /etc/rc.local -> rc.d/rc.local
[root@clr /]# vim /etc/rc.local
[root@clr /]# chmod +x /etc/rc.d/rc.local
[root@clr /]# ll !$ #能够自动识别上条命令中的最后一个字段/一列内容
3.3 ディスク使用量の表示
df命令
df [オプション] [ファイル]
示例
lsblk: 現在のすべてのパーティション デバイスのマウント ステータスを表示します。
[root@clr /data]# lsblk #lsblk:查看当前所有分区设备的挂载情况;
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 37G 0 part /
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 3.9G 0 part [SWAP] #交换分区
sdb 8:16 0 40G 0 disk
├─sdb1 8:17 0 20G 0 part /data #sdb1挂载到/data目录下
├─sdb2 8:18 0 1K 0 part
└─sdb5 8:21 0 10G 0 part /data2 #sdb5挂载到/data2目录下
sdc 8:32 0 20G 0 disk
└─sdc1 8:33 0 5G 0 part [SWAP]
sr0 11:0 1 4.4G 0 rom
loop0 7:0 0 4.4G 0 loop /mnt #镜像文件挂载到/mnt目录下