
ハードディスクデバイスは多数のセクターで構成され、各セクターの容量は512バイトで、最初のセクターが最も重要であり、マスターブートレコードとパーティションテーブルの情報を保存します。マスターブートレコードは446、パーティションテーブルは64バイト、ターミネータは2バイトです。パーティションテーブルの各レコードは16バイトを占め、最大で4つのパーティションしかありません。不十分なパーティション数を解決するために、拡張パーティションが導出されます。 。拡張パーティションを使用して、最大128の論理パーティションを持つ論理パーティションを作成できます。
| ハードウェアデバイス | ファイル名 |
|---|---|
| IDEデバイス | / dev / hd [ad] |
| SCSI / SATA / Uディスク/ SAS | / dev / sd [ap] |
| フロッピードライブ | / dev / fd [0-1] |
| プリンター | / dev / lp [0-15] |
| 光学ドライブ | / dev / cdrom |
| マウス | / dev / mouse |
| テープドライブ | / dev / st0または/ dev / ht0 |
LinuxのIDEハードディスクインターフェイスのデバイス名は/ dev / hda、LinuxのSAS、SCSI、SATAハードディスクインターフェイスのデバイス名はsda、高効率クラウドディスクのハードディスクインターフェイスは/ dev / vdaとして識別されます。
ハードディスクの最小のストレージユニットはセクター(セクター)と呼ばれ、各セクターは512バイトを格納します。オペレーティングシステムがハードディスクを読み取るとき、セクターを1つずつ読み取らないため、非常に非効率的です。読み取り効率を向上させるために、オペレーティングシステムは一度に複数のセクターを読み取る、つまり一度に複数のセクターを読み取ります。ブロックです。
複数のセクターで構成されるブロックは、ファイルアクセスの最小単位です。一般的なブロックサイズは1KB、2KB、および4KBです。Linuxではブロックが4KBに設定されることがよくあります。つまり、8つの連続するセクターがブロックを形成します。

ハードディスクパーティションは、(スーパーブロック)、inode、block、
スーパーブロック:inode値、ブロックブロックの使用サイズ、残りのサイズ、および関連する形式と情報を含む、ファイルシステムの全体的な情報。 (inodeとblockの対応を記録する)
Inode:ファイルの属性と情報を記録し、ファイルの保存場所の番号を生成します(inode値:記録されたデータの保存場所(ブロックがパーティション内にある場所))
ブロックブロックは、ファイルの内容を保存することです。各inodeとブロックには番号があり、各ファイルはinodeを占有するため、inodeにはファイルデータが配置されるブロック番号が含まれます。ファイルのinodeが見つかった場合、ファイルに配置されたデータのブロック番号を見つけて、ファイルの内容を読み取ることができます。
分割されたパーティション形式:gpt
1 )ハードディスクのすべての内容を1つのパーティションに分割します

パーティション2.4Tハードドライブ


Partedツールのmklabelおよびmkpartパラメーター

マウントの一般的なケースは次のように示されます。
mount /dev/sdb1 /データマウント/dev/sdb1パーティションから/data/目次
mount /dev/cdrom /CdromCDをにマウントします/mntディレクトリ;
mount -t ntfs-3g /dev/sdc /data1マウント/dev/sdcモバイルハードドライブから/data1ディレクトリ;
mount -o remount,rw /読み取り/書き込みモードで再マウント/システム;
mount -t iso9660 -o loop centos7.iso /mntはcentos7になります.ISOイメージファイルをにマウントします/mntディレクトリ;
mount -t fat32 /dev/sdd1 /mntUSBフラッシュドライブ/dev/にマウントされたsdd1/mnt/目次;
mount -t nfs 192.168.1.11:/data//mntは192をリモートします.168.1.11:/データディレクトリをローカルにマウントします/mntディレクトリ。
1.3 詳細なファイルシステム
ddコマンドは、ソース/ dev / zeroを指定する場合(/ dev / zeroファイルは「0」データの安定したストリームを提供します)、ストレージファイルを指定する場合、空のファイルを作成します。bs=ブロックのサイズを定義し、count =ブロックの数を定義します。
[ root@localhost ~]# dd if=/dev/zero of=/root/test bs=100M count=2020+0 records in20+0 records out
2097152000 bytes(2.1 GB) copied,42.9902 s,48.8 MB/s
[ root@localhost ~]# mkswap /root/test
Setting up swapspace version 1, size =2047996 KiB
no label, UUID=13db4d1a-eb96-49fc-8e29-33e51c660ea5
[ root@localhost ~]# free -hm
total used free shared buff/cache available
Mem: 976M 113M 170M 6.7M 692M 686M
Swap:2.0G 0B 2.0G
[ root@localhost ~]# swapon /root/test
swapon:/root/test: insecure permissions 0644,0600 suggested.[root@localhost ~]# free -hm
total used free shared buff/cache available
Mem: 976M 115M 168M 6.7M 692M 684M
Swap:4.0G 0B 4.0G
[ root@localhost ~]#
[ root@localhost ~]# swapoff /root/test
[ root@localhost ~]#
[ root@localhost ~]# free -m
total used free shared buff/cache available
Mem:9761141686693685
Swap:204702047
1. XFSファイルシステムを作成する
[ root@localhost ~]# mkfs.xfs -f /dev/sdb1meta-data=/dev/sdb1
[ root@localhost ~]# cat /etc/fstab |grep sdsb1/dev/sdb1 /test xfs defaults 00[root@localhost ~]# mount -a[root@localhost ~]# df -h
/dev/sdb1 30G 610M 30G 2%/test
2. ファイルシステム/テストをアンマウントし、スーパーブロックを破棄します
[ root@localhost ~]# umount /test
[ root@localhost ~]# dd if=/dev/zero of=/dev/sdb1 bs=512 count=11+0 records in1+0 records out512 bytes(512 B) copied,0.00251096 s,204 kB/s
3. 再度マウントエラー
[ root@localhost ~]# mount -a
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog -try
dmesg | tail or so
[ root@localhost ~]# dmesg
[22597379.623449] XFS(sdb1): bad magic number[22597379.624372]XFS(sdb1): SB validate failed
4. スーパーブロックを復元
[ root@localhost ~]# xfs_repair /dev/sdb1
Phase 1- find and verify superblock...bad primary superblock -
bad magic number !!!
attempting to find secondary superblock............found candidate secondary superblock...
verified secondary superblock...
writing modified primary superblock
sb realtime bitmap inode 18446744073709551615(NULLFSINO)
inconsistent with calculated value 129
resetting superblock realtime bitmap ino pointer to 129
sb realtime summary inode 18446744073709551615(NULLFSINO)
inconsistent with calculated value 130
resetting superblock realtime summary ino pointer to 130
Phase 2- using internal log
- zero log...- scan filesystem freespace and inode maps...
sb_icount 0, counted 64
sb_ifree 0, counted 60
sb_fdblocks 7860552, counted 7712768- found root inode chunkPhase 3-for each AG...- scan and clear agi unlinked lists...- process known inodes and perform inode discovery...- agno =0- agno =1- agno =2- agno =3- process newly discovered inodes...
Phase 4- check for duplicate blocks...- setting up duplicate extent list...- check for inodes claiming duplicate blocks...- agno =0- agno =1- agno =2- agno =3
Phase 5- rebuild AG headers and trees...- reset superblock...Phase 6- check inode connectivity...- resetting contents of realtime bitmap and summary inodes
- traversing filesystem ...- traversal finished ...- moving disconnected inodes to lost+found ...
Phase 7- verify and correct link counts...
Note - stripe unit(0) and width(0) fields have been reset.
Please setwith mount -o sunit=<value>,swidth=<value>done
5. 復元されたかどうかを確認します
[ root@localhost ~]# mount -a
[ root@localhost ~]# df -h
/dev/sdb1 30G 610M 30G 2%/test
[ root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 1.7G 16G 10% /
devtmpfs 478M 0 478M 0%/dev
tmpfs 489M 0 489M 0%/dev/shm
tmpfs 489M 6.7M 482M 2%/run
tmpfs 489M 0 489M 0%/sys/fs/cgroup
/dev/sda1 1014M 127M 888M 13%/boot
tmpfs 98M 0 98M 0%/run/user/0/dev/sdb 20G 33M 20G 1%/test
/dev/sdc1 20G 44M 19G 1%/test1
[ root@localhost ~]# umount /test1
[ root@localhost ~]# !dd
dd if=/dev/zero of=/dev/sdc1 bs=100M count=1010+0 records in10+0 records out
1048576000 bytes(1.0 GB) copied,1.72432 s,608 MB/s
[ root@localhost ~]# mount -a
mount: wrong fs type, bad option, bad superblock on /dev/sdc1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog -try
dmesg | tail or so.
[ root@localhost ~]# fsck -t ext4 /dev/sdc1
fsck from util-linux 2.23.2
e2fsck 1.42.9(28-Dec-2013)
ext2fs_open2: Bad magic number insuper-block
fsck.ext4: Superblock invalid, trying backup blocks...
fsck.ext4: Bad magic number insuper-block while trying to open /dev/sdc1
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem(and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193<device>
[ root@localhost ~]# mke2fs -S /dev/sdc1
- Sはスーパーブロックとグループ記述子のみを書き込みます
mke2fs 1.42.9(28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096(log=2)
Fragment size=4096(log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes,5242631 blocks
262131 blocks(5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296160 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,1605632,2654208,4096000
Allocating group tables: done
Writing superblocks and filesystem accounting information: done
[ root@localhost ~]# mount /dev/sdc1
mount: mount /dev/sdc1 on /test1 failed: Stale file handle
[ root@localhost ~]#
[ root@localhost ~]# fsck -t ext4 -y /dev/sdc1
特定の種類のファイルシステム(ext4)を確認し、-y検出が完了すると自動的に修復します
fsck from util-linux 2.23.2
e2fsck 1.42.9(28-Dec-2013)/dev/sdc1 contains a file system with errors, check forced.
Resize inode not valid. Recreate? yes
Pass 1: Checking inodes, blocks, and sizes
Root inode is not a directory. Clear? yes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Root inode not allocated. Allocate? ye
/lost+found not found. Create? yes
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:+(0--1539)+(32768--34306)+(65536--66049)+(98304--99842)+(131072--131585)+(163840--165378)+(196608--197121)+(229376--230914)
Fix? yes
Free blocks count wrong for group #0(31227, counted=31226).
Fix? yes
Free blocks count wrong(5149114, counted=5149113).
Fix? yes
Inode bitmap differences:+1+(3--10)
Fix? yes
Free inodes count wrong for group #0(8191, counted=8181).
Fix? yes
Directories count wrong for group #0(1, counted=2).
Fix? yes
Free inodes count wrong(1310719, counted=1310709).
Fix? yes
/dev/sdc1:***** FILE SYSTEM WAS MODIFIED *****/dev/sdc1:11/1310720files(0.0% non-contiguous),93518/5242631 block
[ root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 1.7G 16G 10% /
devtmpfs 478M 0 478M 0%/dev
tmpfs 489M 0 489M 0%/dev/shm
tmpfs 489M 6.7M 482M 2%/run
tmpfs 489M 0 489M 0%/sys/fs/cgroup
/dev/sda1 1014M 127M 888M 13%/boot
tmpfs 98M 0 98M 0%/run/user/0/dev/sdb 20G 33M 20G 1%/test
/dev/sdc1 20G 44M 19G 1%/test1

一生懸命勉強し、若者をより輝かせるために一生懸命働く

長い道のりは一歩一歩歩くことができ、足を動かさないと短い道にたどり着くことができません。