硬盘添加后识别:
echo '- - -' > /sys/class/scsi_host/host0/scan 识别硬盘
echo '- - -' > /sys/class/scsi_host/host1/scan
echo '- - -' > /sys/class/scsi_host/host2/scan
文件系统管理工具:
创建文件系统工具:
mkfs
mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs,mkfs.vfat,...
检测及修复文件系统工具
fsck
fsck.ext2,fsck.ext3,...
查看其属性的工具
dumpe2fs,tune2fs
调整文件系统特性:
tune2fs
blkid命令:查看文件系统属性
blkid device:查看设备UUID及文件系统类型;
blkid -L LABEL:根据卷标查找设备;
blkid -U UUID:根据UUID查找设备;
dumpe2fs命令:显示ext系列文件系统的属性信息
dumpe2fs [-h] device
例如:
]# dumpe2fs /dev/sdb5:同tune2fs -l,显示超级块信息,还能显示每个快组的信息;
]# dumpe2fs -h /dev/sdb5:同tune2fs -l /dev/sdb5,显示超级块信息;
lsblk命令:查看块设备
lsblk 查看的是block device,也就是逻辑磁盘大小。
df查看的是file system, 也就是文件系统层的磁盘大小。
df命令:report file system disk space usage,查看磁盘使用状态;
df [OPTION]... [FILE]...
-h:human-readable,单位换算,易于人读;
-l:查看本地磁盘文件系统;
-i:查看inode使用情况而非blocks;
du命令:estimate file space usage,评估文件空间大小
du [OPTION]... [FILE]...
-s:汇总显示,即显示目录,包括目录下所有文件的大小之和;
-h:单位换算;
fdisk命令:
1、查看磁盘分区表
fdisk -l [DISK]
不跟DISK查看当前所有磁盘信息,跟DISK查看指定磁盘信息;
2、管理分区
fdisk DISK
交互式管理分区;
交互式接口:管理机制是通过各子命令实现的,是在内存中修改,保存后才能生效;
常用命令:
n:创建新分区;
d:删除已有分区;
t:修改分区类型;
l:查看所有已经分区ID;
w:保存并退出;
q:不保存退出;
m:查看帮助信息;
p:显示现有分区信息;
注意:在已经分区并且挂载其中的某个分区的磁盘设备上创建新的分区时,保存退出后内核可能无法直接识别此新分区;
blkid:块设备属性信息查看
blkid [OPTION]... [DEVICE]
-U UUID: 根据指定的UUID来查找对应的设备
-L LABEL:根据指定的LABEL来查找对应的设备
e2label:管理ext系列文件系统的LABEL
e2label DEVICE [LABEL]
同步磁盘分区
查看:cat /proc/partitions
通知内核强制重读分区表:
CentOS 5,7:partprobe [device]
CentOS 6,7:partx,kpartx
partx -a [device]
kpartx -af [device]
partx -d --nr 6 /dev/sda 删除分区后的同步,数字6为被删除的sda6分区
注意:一定不要在挂载状态下修复
fsck: File System Check
fsck.FS_TYPE
fsck -t FS_TYPE
-p: 自动修复错误
-r: 交互式修复错误
FS_TYPE一定要与分区上已经文件类型相同
e2fsck:ext系列文件专用的检测修复工具
-y:自动回答为yes
-f:强制修复
查看正在访问指定文件系统的进程
lsof MOUNT_POINT
fuser -v MOUNT_POINT
终止所有在正访问指定的文件系统的进程
fuser -km MOUNT_POINT
/etc/mtab 此目录在有挂载动作时随时自动更新
findmnt命令:
判断路径是不是挂载点
[root@CentOS7 ~]# mount -o remount,noexec /root/book 注意!! remount,noexec之间逗号两边不能有空格,否则无效
mknod命令:
创建设备文件
mknod DEVNAME {b | c} MAJOR MINOR
losetup命令:
映射设备文件和块文件设备,可以指定设备文件的编号
losetup /dev/loop8 /mnt/part
loop设备:
使用dd命令创建一个文件,然后使用文件格式化命令进行格式化,再挂载即可使用
dd if=/dev/zero of=/root/part1 bs=1M count=1024 创建文件大小
mkfs.ext4 /root/part1 格式化文件格式
mount /root/part1 /app 挂载
vim /etc/fstab 修改配置文件,重启自动挂载
使用losetup命令可以给loop设备指定编号,首先使用mknod创建设备文件并编号,然后使用losetup映射loop文件和设备编号
mknod /dev/loop8 b 7 8
losetup /dev/loop8 /mnt/part2
至此part2挂载时使用的设备编号为/dev/loop8,而不是按顺序自动编号
修改loop文件最大数限制
vim /boot/grub/grub.conf
在kernel 这行的最后加上max_loop= 你需要的数字,重启后便有这么多个设备
注意!!仅对6有意义,7的系统会按需自动创建,重启机器会丢失,除非写进文件,并且6的系统在编写配置文件时需要注明loop
/root/partfile /app xfs defaults,loop 0 0
文件夹的挂载需要在后面注明bind
/root/bin/ /app xfs defaults,bind 0 0
设备的自动挂载
修改/etc/fstab格式如下:支持卷标,UUID,设备名
/dev/mapper/centos_centos7-root / xfs defaults 0 0
UUID=0cb3d030-38b4-47bb-9bf8-71cd901a4c16 /boot xfs defaults 0 0
/dev/mapper/centos_centos7-home /home xfs defaults 0 0
/dev/mapper/centos_centos7-swap swap swap defaults 0 0
/dev/sda7 /app xfs defaults 0 0
然后使用命令/mount -a,挂载生效
注意!!!已经挂载的设备,修改属性后再使用mount -a不生效,需要使用remount重新启用
当挂载文件出问题时可能会出现系统无法启动的故障,
排除方法:以root账号进入系统,当前状态是只读,使用命令mount -o remount,rw /
重新挂载根文件目录,修改为读写,然后进入配置文件/etc/fstab进行修改
swap分区与挂载
swap分区尽量使用硬盘的第一个分区,因为在磁盘的外圈,运行速度更快
分区时fdisk命令分配空间后,用t选项改为82swap格式
1.创建文件格式
mkswap /dev/sdb1
2.写入配置文件
0cb3d030-38b4-47bb-9bf8-71cd901a4c17 swap swap defaults 0 0
3.启动缓存
swapon -a
4.查看缓存的分区
swapon -s
5.swap的优先级调整: 把使用外圈磁盘的swap分区优先级调为更高能提高性能
首先free命令查看缓存是否有使用,如果没有,再关闭要调整的分区
swapoff /dev/sda7
修改配置文件pri=1,0到32767的优先级,值越大优先级越高
0cb3d030-38b4-47bb-9bf8-71cd901a4c17 swap swap pri=1 0 0
然后swapon -a 开启
删除swap分区
先使用free命令查看要删除的分区是否有使用
然后swapoff关闭,再修改配置文件
使用磁盘文件配置swap分区
1.首先使用dd命令分配一个需要大小的文件
dd if=/dev/zero of=/root/swapfile bs=1M count=1024
2.然后格式化文件系统
mkswap /root/swapfile
3.修改配置文件 最好还是使用UUID,使用文件做swap优先级尽量低
/root/swapfile swap swap defaults 0 0
4.然后启用
swapon -a