Centos7ノート|ハードディスク、分割パーティション、マウントコマンド、スワップパーティション拡張、詳細ファイルシステム、

ハードディスクデバイスは多数のセクターで構成され、各セクターの容量は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が見つかった場合、ファイルに配置されたデータのブロック番号を見つけて、ファイルの内容を読み取ることができます。

1.1 分割パーティション

分割されたパーティション形式:gpt

1 )ハードディスクのすべての内容を1つのパーティションに分割します

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

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

1.2 マウントコマンドの例

マウントの一般的なケースは次のように示されます。

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 詳細なファイルシステム

1.4 スワップパーティションの拡張

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.5 xfsファイルシステムのスーパーブロックを試してください

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

1.2 ext4パーティションスーパーブロック****の問題を修正

[ 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

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

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

Recommended Posts

Centos7ノート|ハードディスク、分割パーティション、マウントコマンド、スワップパーティション拡張、詳細ファイルシステム、
Centos7でのLVMによるファイルシステムのオンライン拡張