微网站免费制作/seo长沙
1 硬盘结构
硬盘的逻辑结构:
每个扇区的大小固定为512Byte,扇区也是磁盘最小的存储单位。
2 硬盘接口
现使用最多的还是SATA接口,硬盘的处理速度很大程度上受制于硬盘接口的速度,无论是对于固态硬盘还是机械硬盘。
3 文件系统
3.1 linux文件系统特性
3.2 linux常见文件系统
目前使用较多的有ext4和xfs,centos6用的ext4在之前基础上有优化,而centos7使用xfs,在ext4基础上做了进一步优化。
4 常用硬盘管理命令
(1)df命令
(2)du命令
df命令有时候与du命令看到的不一样,这是由于df命令中主要是统计的空间大小,一些临时文件与被删除的文件也包含在内,这种问题一般可以通过重启服务器解决。
(3)fsck文件系统修复命令
一般服务器启动时自动进行该命令进行修复。
(4)显示磁盘状态dumpe2fs
如下所示,可以看到包含多少个block和i节点。使用-h(dumpe2fs -h /dev/sdb1)可以只看超级块的部分。
[root@vm3 /]# dumpe2fs /dev/sdb1
dumpe2fs 1.42.9 (28-Dec-2013)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 8a745952-291d-45c8-9d07-f8b8b1f23305
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 128000
Block count: 512000
Reserved block count: 25600
Free blocks: 494264
Free inodes: 127989
First block: 0
Block size: 4096
Fragment size: 4096
Group descriptor size: 64
Reserved GDT blocks: 249
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8000
Inode blocks per group: 500
Flex block group size: 16
Filesystem created: Sun Feb 28 23:20:00 2021
Last mount time: Sun Feb 28 23:23:15 2021
Last write time: Sun Feb 28 23:23:15 2021
Mount count: 1
Maximum mount count: -1
Last checked: Sun Feb 28 23:20:00 2021
Check interval: 0 (<none>)
Lifetime writes: 33 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: b4937575-2b69-4009-a818-0281d0f146f3
Journal backup: inode blocks
Journal features: journal_64bit
日志大小: 32M
Journal length: 8192
Journal sequence: 0x00000002
Journal start: 1Group 0: (Blocks 0-32767) [ITABLE_ZEROED]Checksum 0xb08d, unused inodes 7989主 superblock at 0, Group descriptors at 1-1保留的GDT块位于 2-250Block bitmap at 251 (+251), Inode bitmap at 267 (+267)Inode表位于 283-782 (+283)24479 free blocks, 7989 free inodes, 2 directories, 7989个未使用的inodes可用块数: 8289-32767可用inode数: 12-8000
Group 1: (Blocks 32768-65535) [INODE_UNINIT, ITABLE_ZEROED]Checksum 0xd80c, unused inodes 8000备份 superblock at 32768, Group descriptors at 32769-32769保留的GDT块位于 32770-33018Block bitmap at 252 (bg #0 + 252), Inode bitmap at 268 (bg #0 + 268)Inode表位于 783-1282 (bg #0 + 783)32517 free blocks, 8000 free inodes, 0 directories, 8000个未使用的inodes可用块数: 33019-65535可用inode数: 8001-16000
Group 2: (Blocks 65536-98303) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]Checksum 0x1ef4, unused inodes 8000Block bitmap at 253 (bg #0 + 253), Inode bitmap at 269 (bg #0 + 269)Inode表位于 1283-1782 (bg #0 + 1283)32768 free blocks, 8000 free inodes, 0 directories, 8000个未使用的inodes可用块数: 65536-98303可用inode数: 16001-24000
Group 3: (Blocks 98304-131071) [INODE_UNINIT, ITABLE_ZEROED]Checksum 0x7139, unused inodes 8000备份 superblock at 98304, Group descriptors at 98305-98305保留的GDT块位于 98306-98554Block bitmap at 254 (bg #0 + 254), Inode bitmap at 270 (bg #0 + 270)Inode表位于 1783-2282 (bg #0 + 1783)32517 free blocks, 8000 free inodes, 0 directories, 8000个未使用的inodes可用块数: 98555-131071可用inode数: 24001-32000
Group 4: (Blocks 131072-163839) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]Checksum 0xa014, unused inodes 8000Block bitmap at 255 (bg #0 + 255), Inode bitmap at 271 (bg #0 + 271)Inode表位于 2283-2782 (bg #0 + 2283)32768 free blocks, 8000 free inodes, 0 directories, 8000个未使用的inodes可用块数: 131072-163839可用inode数: 32001-40000
Group 5: (Blocks 163840-196607) [INODE_UNINIT, ITABLE_ZEROED]Checksum 0x6d64, unused inodes 8000备份 superblock at 163840, Group descriptors at 163841-163841保留的GDT块位于 163842-164090Block bitmap at 256 (bg #0 + 256), Inode bitmap at 272 (bg #0 + 272)Inode表位于 2783-3282 (bg #0 + 2783)32517 free blocks, 8000 free inodes, 0 directories, 8000个未使用的inodes可用块数: 164091-196607可用inode数: 40001-48000
Group 6: (Blocks 196608-229375) [INODE_UNINIT, ITABLE_ZEROED]Checksum 0xb05f, unused inodes 8000Block bitmap at 257 (bg #0 + 257), Inode bitmap at 273 (bg #0 + 273)Inode表位于 3283-3782 (bg #0 + 3283)24576 free blocks, 8000 free inodes, 0 directories, 8000个未使用的inodes可用块数: 204800-229375可用inode数: 48001-56000
Group 7: (Blocks 229376-262143) [INODE_UNINIT, ITABLE_ZEROED]Checksum 0x0ed0, unused inodes 8000备份 superblock at 229376, Group descriptors at 229377-229377保留的GDT块位于 229378-229626Block bitmap at 258 (bg #0 + 258), Inode bitmap at 274 (bg #0 + 274)Inode表位于 3783-4282 (bg #0 + 3783)32517 free blocks, 8000 free inodes, 0 directories, 8000个未使用的inodes可用块数: 229627-262143可用inode数: 56001-64000
Group 8: (Blocks 262144-294911) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]Checksum 0xd931, unused inodes 8000Block bitmap at 259 (bg #0 + 259), Inode bitmap at 275 (bg #0 + 275)Inode表位于 4283-4782 (bg #0 + 4283)32768 free blocks, 8000 free inodes, 0 directories, 8000个未使用的inodes可用块数: 262144-294911可用inode数: 64001-72000
Group 9: (Blocks 294912-327679) [INODE_UNINIT, ITABLE_ZEROED]Checksum 0xb873, unused inodes 8000备份 superblock at 294912, Group descriptors at 294913-294913保留的GDT块位于 294914-295162Block bitmap at 260 (bg #0 + 260), Inode bitmap at 276 (bg #0 + 276)Inode表位于 4783-5282 (bg #0 + 4783)32517 free blocks, 8000 free inodes, 0 directories, 8000个未使用的inodes可用块数: 295163-327679可用inode数: 72001-80000
Group 10: (Blocks 327680-360447) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]Checksum 0x7e8b, unused inodes 8000Block bitmap at 261 (bg #0 + 261), Inode bitmap at 277 (bg #0 + 277)Inode表位于 5283-5782 (bg #0 + 5283)32768 free blocks, 8000 free inodes, 0 directories, 8000个未使用的inodes可用块数: 327680-360447可用inode数: 80001-88000
Group 11: (Blocks 360448-393215) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]Checksum 0xc691, unused inodes 8000Block bitmap at 262 (bg #0 + 262), Inode bitmap at 278 (bg #0 + 278)Inode表位于 5783-6282 (bg #0 + 5783)32768 free blocks, 8000 free inodes, 0 directories, 8000个未使用的inodes可用块数: 360448-393215可用inode数: 88001-96000
Group 12: (Blocks 393216-425983) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]Checksum 0x1e59, unused inodes 8000Block bitmap at 263 (bg #0 + 263), Inode bitmap at 279 (bg #0 + 279)Inode表位于 6283-6782 (bg #0 + 6283)32768 free blocks, 8000 free inodes, 0 directories, 8000个未使用的inodes可用块数: 393216-425983可用inode数: 96001-104000
Group 13: (Blocks 425984-458751) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]Checksum 0xd1f8, unused inodes 8000Block bitmap at 264 (bg #0 + 264), Inode bitmap at 280 (bg #0 + 280)Inode表位于 6783-7282 (bg #0 + 6783)32768 free blocks, 8000 free inodes, 0 directories, 8000个未使用的inodes可用块数: 425984-458751可用inode数: 104001-112000
Group 14: (Blocks 458752-491519) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]Checksum 0x1ee5, unused inodes 8000Block bitmap at 265 (bg #0 + 265), Inode bitmap at 281 (bg #0 + 281)Inode表位于 7283-7782 (bg #0 + 7283)32768 free blocks, 8000 free inodes, 0 directories, 8000个未使用的inodes可用块数: 458752-491519可用inode数: 112001-120000
Group 15: (Blocks 491520-511999) [INODE_UNINIT, ITABLE_ZEROED]Checksum 0x5ef5, unused inodes 8000Block bitmap at 266 (bg #0 + 266), Inode bitmap at 282 (bg #0 + 282)Inode表位于 7783-8282 (bg #0 + 7783)20480 free blocks, 8000 free inodes, 0 directories, 8000个未使用的inodes可用块数: 491520-511999可用inode数: 120001-128000
(5)stat查看文件的详细时间(如下)
[root@vm3 ~]# stat anaconda-ks.cfg 文件:"anaconda-ks.cfg"大小:1489 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:16797774 硬链接:1
权限:(0600/-rw-------) Uid:( 0/ root) Gid:( 0/ root)
环境:system_u:object_r:admin_home_t:s0
最近访问:2021-02-28 22:14:02.746318454 +0800
最近更改:2021-02-13 12:00:21.698000000 +0800
最近改动:2021-02-13 12:00:21.698000000 +0800
创建时间:-
(6)判断文件类型
如下所示,file一般可以在程序中进行使用
[root@vm3 ~]# file anaconda-ks.cfg
anaconda-ks.cfg: ASCII text
[root@vm3 ~]# history | grep file72 file anaconda-ks.cfg 81 file zhang/85 file zhang86 file /home/zhang122 file anaconda-ks.cfg 123 history | grep file
[root@vm3 ~]# history | grep type69 type mkdir70 type cd71 type ls87 type vim124 history | grep type
[root@vm3 ~]# file /home/zhang
/home/zhang: directory
[root@vm3 ~]# tll
-bash: tll: 未找到命令
[root@vm3 ~]# type vim
vim 是 /usr/bin/vim
[root@vm3 ~]# type vi
vi 是 /usr/bin/vi
[root@vm3 ~]# type cat
cat 是 /usr/bin/cat
[root@vm3 ~]#
5 fdisk命令手工分区
fdisk交互指令说明
有时候系统的分区别比较忙,需要重启系统后才能使新的分区表生效。
一般不用mke2fs来进行调整分区的默认参数,使用默认即可。
需要设置自动挂载
例如:需要修改/etc/fstab文件中的内容后,每次重启才会自动挂载,mount命令只是一时的。
[root@vm3 ~]# ll /dev/disk/by-uuid/
总用量 0
lrwxrwxrwx. 1 root root 10 3月 2 22:45 2464f124-b1bb-4e95-8a8e-a12f66e38e94 -> ../../sda1
lrwxrwxrwx. 1 root root 10 3月 2 23:24 31a45538-0299-41fd-a3c6-69d9e53a8b20 -> ../../sdb1
lrwxrwxrwx. 1 root root 10 3月 2 22:45 6c8beb32-650f-4e52-ba39-62b93c114d11 -> ../../dm-1
lrwxrwxrwx. 1 root root 10 3月 2 22:45 a4d12221-4f60-4f06-bc06-2f2d629695dd -> ../../dm-0
[root@vm3 ~]# vim /etc/fstab #
# /etc/fstab
# Created by anaconda on Sat Feb 13 11:54:29 2021
#
# 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
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=2464f124-b1bb-4e95-8a8e-a12f66e38e94 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
~
~
~
"/etc/fstab" 11L, 465C 11,1 全部#
# /etc/fstab
# Created by anaconda on Sat Feb 13 11:54:29 2021
#
# 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
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=2464f124-b1bb-4e95-8a8e-a12f66e38e94 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
~
5 /etc/fstab文件修复
有时候在修改/etc/fstab文件时候改错了某个东西,这个时候就会导致系统直接起不来,而要启动起来就需要现场能连上这台服务器,假如这台服务器在千里之外,这个成本得多大!当无法修改fstab文件时候,尝试下面添加权限得办法呢:
6 parted命令分区
linux系统中有两种常见得分区表:MBR分区表(主引导记录分区表)、GPT分区表(GUID分区表)。
centos7里parted分区出来得默认是ext4格式的,但还是需要在系统里(跳出parted命令模式)进行mkfs格式化。
STEP1:进行parted分区
[root@vm3 ~]# parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help align-check TYPE N check partition N for TYPE(min|opt) alignmenthelp [COMMAND] print general help, or help on COMMANDmklabel,mktable LABEL-TYPE create a new disklabel (partition table)mkpart PART-TYPE [FS-TYPE] START END make a partitionname NUMBER NAME name partition NUMBER as NAMEprint [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partitionquit exit programrescue START END rescue a lost partition near START and ENDresizepart NUMBER END resize partition NUMBERrm NUMBER delete partition NUMBERselect DEVICE choose the device to editdisk_set FLAG STATE change the FLAG on selected devicedisk_toggle [FLAG] toggle the state of FLAG on selected deviceset NUMBER FLAG STATE change the FLAG on partition NUMBERtoggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERunit UNIT set the default unit to UNITversion display the version number and copyright information of GNU Parted
STEP2:查看分区
(parted) print
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdb: 9943MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: Number Start End Size Type File system 标志1 1049kB 1075MB 1074MB primary linux-swap(v1)
STEP3:修改成GPT分区表(默认是MRB分区格式)
STEP4:建立分区
STEP5:建立文件系统
上面两种二选一。直接用系统命令mkfs岂不省事?
STEP6:调整分区大小
正常不建议调整分区大小,调整中可能会丢失数据。
STEP7:删除分区
7 设置SWAP分区
交换机分区。该分区大小可以调整,一般调整分区大小建议调整此分区,主要是用来:(1)缓冲:数据写入;(2)缓存:数据读取。下面介绍swap分区步骤:
1、分区,并修改为swap分区ID
2、格式化
3、临时挂载
4、自动挂载
修改/etc/fstab文件添加如下内容: