马哥教育第五周

设备文件 一切皆文件:open(), read(), write(), close() 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键盘 /dev/DEV_FILE /dev/sdX   #SCSI, SATA, SAS, IDE,USB /dev/nvme0n#   #nvme协议硬盘,如:第一个硬盘:nvme0n1,第二个硬盘:nvme0n2 硬盘存储术语 CHS head:磁头 磁头数=盘面数 track:磁道 磁道=柱面数 sector:扇区,512bytes cylinder:柱面 1柱面=512 * sector数/track*head数=512*63*255=7.84M CentOS 5 之前版本 Linux 以柱面的整数倍划分分区,CentOS 6之后可以支持以扇区划分分区 lsblk列出块设备 fdisk 管理MBR分区 gdisk 管理GPT分区 parted 高级分区操作,可以是交互或非交互方式 partprobe重新设置内存中的内核分区表版本,适合于除了CentOS 6 以外的其它版本 5,7,8 子命令: p 分区列表 t 更改分区类型 n 创建新分区 d 删除分区 v 校验分区 u 转换单位 w 保存并退出 q 不保存并退出 cat /proc/partations查看内核是否已经识别新的分区 Centos6 通知内核重新读取硬盘分区表 新增分区用 partx -a /dev/DEVICE kpartx -a /dev/DEVICE -f: force 删除分区用 partx -d --nr M-N /dev/DEVICE mkfs命令: (1) mkfs.FS_TYPE /dev/DEVICE ext4 xfs (2) mkfs -t FS_TYPE /dev/DEVICE -L 'LABEL' 设定卷标 mke2fs:ext系列文件系统专用管理工具 blkid 可以查看块设备属性信息 -U UUID 根据指定的UUID来查找对应的设备 -L LABEL 根据指定的LABEL来查找对应的设备 e2label:管理ext系列文件系统的LABEL findfs :查找分区 tune2fs:重新设定ext系列文件系统可调整参数的值 dumpe2fs:显示ext文件系统信息,将磁盘块分组管理    -h:查看超级块信息,不显示分组信息 xfs_info:显示示挂载或已挂载的 xfs 文件系统信息 文件系统检测和修复 注意:一定不要在挂载状态下执行下面命令修复 fsck.FS_TYPE fsck -t FS_TYPE 注意:FS_TYPE 一定要与分区上已经文件类型相同 -a 自动修复 -r 交互式修复错误 e2fsck:ext系列文件专用的检测修复工具 -y 自动回答为yes -f 强制修复 -p 自动进行安全的修复文件系统问题 xfs_repair:xfs文件系统专用检测修复工具 -f 修复文件,而设备 -n 只检查 -d 允许修复只读的挂载设备,在单用户下修复 / 时使用,然后立即reboot 挂载文件系统mount -t vsftype 指定要挂载的设备上的文件系统类型 -r readonly,只读挂载 -w read and write, 读写挂载 -n 不更新/etc/mtab,mount不可见 -a 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有 auto功能) -L 'LABEL' 以卷标指定挂载设备 -U 'UUID' 以UUID指定要挂载的设备 -B, --bind 绑定目录到另一个目录上 -o options:(挂载文件系统的选项),多个选项使用逗号分隔 async   异步模式,内存更改时,写入缓存区buffer,过一段时间再写到磁盘中,效率高,但不安全   sync   同步模式,内存更改时,同时写磁盘,安全,但效率低下 atime/noatime 包含目录和文件 diratime/nodiratime 目录的访问时间戳 auto/noauto 是否支持开机自动挂载,是否支持-a选项 exec/noexec 是否支持将文件系统上运行应用程序 dev/nodev 是否支持在此文件系统上使用设备文件 suid/nosuid 是否支持suid和sgid权限 remount 重新挂载 ro/rw 只读、读写   user/nouser 是否允许普通用户挂载此设备,/etc/fstab使用 acl/noacl 启用此文件系统上的acl功能 loop 使用loop设备 _netdev   当网络可用时才对网络资源进行挂载,如:NFS文件系统 defaults 相当于rw, suid, dev, exec, auto, nouser, async 卸载文件系统 umount     卸载时:可使用设备,也可以使用挂载点 #通过查看/etc/mtab文件显示当前已挂载的所有设备 mount #查看内核追踪到的已挂载的所有设备 cat /proc/mounts 查看挂载点情况    findmnt   MOUNT_POINT|device 查看正在访问指定文件系统的进程 lsof MOUNT_POINT fuser -v MOUNT_POINT 终止所有在正访问指定的文件系统的进程     fuser -km MOUNT_POINT 持久挂载   将挂载保存到 /etc/fstab 中可以下次开机时,自动启用挂载 添加新的挂载项,需要执行命令生效mount  -a 自动进入emergency mode,输入root 密码 #cat /proc/mounts 可以查看到/ 以rw方式挂载 #vim /etc/fstab #reboot swap交换分区实现过程  1. 创建交换分区或者文件 2. 使用mkswap写入特殊签名 3. 在/etc/fstab文件中添加适当的条目 4. 使用swapon -a 激活交换空间 启用swap分区swapon -a:激活所有的交换分区 -p PRIORITY:指定优先级,也可在/etc/fstab 在第4列指定:pri=value 禁用swap分区:swapoff  查看USB设备是否识别  lsusb 插入U盘后可以看到日志信息   tail /var/log/messages -f 格式化U盘为 FAT32 文件系统 [root@centos8 ~]#dnf -y install dosfstools [root@centos8 ~]#mkfs.vfat /dev/sdd1 mkfs.fat 4.1 (2017-01-24) [root@centos8 ~]#mount /dev/sdd1 /mnt 文件系统空间占用等信息的查看工具df -H 以10为单位 -T 文件系统类型 -h human-readable -i inodes instead of blocks -P 以Posix兼容的格式输出 查看某目录总体空间占用状态du -h human-readable -s   summary   dd 命令:convert and copy a fifile if=file 从所命名文件读取而不是从标准输入 of=file 写到所命名的文件而不是到标准输出 ibs=size   一次读size个byte obs=size       一次写size个byte bs=size block size, 指定块大小(既是是ibs也是obs) cbs=size       一次转化size个byte skip=blocks   从开头忽略blocks个ibs大小的块 seek=blocks 从开头忽略blocks个obs大小的块 count=n       复制n个bs conv=conversion[,conversion...] 用指定的参数转换文件 conversion 转换参数: ascii 转换 EBCDIC 为 ASCII ebcdic 转换 ASCII 为 EBCDIC lcase 把大写字符转换为小写字符 ucase 把小写字符转换为大写字符 nocreat 不创建输出文件 noerror 出错时不停止 notrunc 不截短输出文件 sync 把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐 fdatasync 写完成前,物理写入输出文件 实现逻辑卷 相关工具来自于 lvm2 包      yum -y install lvm2 显示pv信息 pvs:简要pv信息显示     pvdisplay 创建pv pvcreate /dev/DEVICE 删除pv pvremove /dev/DEVICE 显示卷组 vgs     vgdisplay 创建卷组   vgcreate 管理卷组 vgextend VolumeGroupName PhysicalDevicePath vgreduce VolumeGroupName PhysicalDevicePath 删除卷组 先做pvmove 再做vgremove 显示逻辑卷 lvs    Lvdisplay 创建逻辑卷 lvcreate -L 删除逻辑卷 lvremove /dev/VG_NAME/LV_NAME 重设文件系统大小 fsadm [options] resize device [new_size[BKMGTEP]] resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size] xfs_growfs /mountpoint 在线扩展逻辑卷 lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME #针对ext resize2fs /dev/VG_NAME/LV_NAME #针对xfs xfs_growfs MOUNTPOINT lvresize -r -l +100%FREE /dev/VG_NAME/LV_NAME 缩减逻辑卷 注意:缩减有数据损坏的风险,建议先备份再缩减,xfs文件系统不支持缩减 umount /dev/VG_NAME/LV_NAME e2fsck -f /dev/VG_NAME/LV_NAME resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT] lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME mount 实现逻辑卷快照 mkfs.xfs /dev/vg0/data mount /dev/vg0/data/ /mnt/data #为现有逻辑卷创建快照 lvcreate -l 64 -s -n data-snapshot -p r /dev/vg0/data #挂载快照 mkdir  -p /mnt/snap mount -o ro /dev/vg0/data-snapshot   /mnt/snap #恢复快照 umount /dev/vg0/data-snapshot umount /dev/vg0/data lvconvert --merge /dev/vg0/data-snapshot #删除快照 umount /mnt/databackup lvremove /dev/vg0/databackup
上一篇:使用CentOS8搭建私有NAS存储的一些建议


下一篇:Linux 第七节( 磁盘配额,RAID )