-
文件系统管理工具
- 内核级文件系统的组成部分
- 文件系统驱动: 由内核提供
- 文件系统管理工具: 由用户空间的应用程序提供
- 创建文件系统工具
- mkfs
- mkfs.ext2, mkfs.ext3,mkfs,est4, mkfs,xfs ,mkfs.vfat….
- 检测文件系统工具
- fsck
- fsck.ext2,…..
- 查看其属性的工具
- dumpe2fs, tune2fs
- 调整文件系统特性
- tune2fs
- ext系列文件系统的管理文件工具
- mkfs.est2 , mkfs.est3, mkfsest4
- ext 系列文件系统专用管理工具
- mke2fs[options]deivce
- -t[ext2],3,4 指明要创建的文件系统类型
- -b{1024|2048|4096}:指明文件系统的块大小;
- -L LABEL:指明卷标;
- -J创建有日志功能的文件系统ext3;
- -i#:bytes-per-inode,指明inode于字节的比率;即没多少节创建一个inode;
- -N#:直接指明要给此文件系统创建的inode的数量;
- -m#:指定预留空间,百分比:
- -O[^]FEATURE:指定的特性创建目标文件系统
- e2label命令:卷标的查看与设定
- 查看:e2label drvince
- 设定:e2label device LABEL
- tune2fs:查看或修改ext系列文件系统的某些属性;
- 块大小创建后不可更改;
- tune2fs[optins]device
- -l查看超级块的内容;
- 修改指定文件系统属性
- -j:ext2 –>ext3
- -L LABEL:修改卷标;
- -m #:调整预留空间百分比
- -O[^]:关闭或开启某中特性
- -o [^]:开启或者关闭某种默认挂载选项
- acl ^acl
- dumpewfs:显示ext系列文件系统的属性信息
- dumpe2fs [-h] device
-
fsck:用于实现文件系统检测的工具
- 因进程意外终止或系统崩溃等 原因导致定稿操作非正常终止时,可能会造成文件损坏;此时,应该检测并修复文件系统;建议,离线进行;
- -t fstype:指明文件系统类型;
- -a:无需交互而自动修复所有错误;
- -r:交互式修复;
- e2fsck [optin]device
- -y:对所有问题自动回答yes;
- -f:即便文件系统处于clean状态,也要强制进行检查
- Centos 6如何使用xfs 文件系统;
- #yum -y install xfspiogs
- 创建:
- mkfs -t ext2 =mkfs.ext2
- blkid:
- blkid device
- bldik -L label:根据LABEL定位设备
- bldik -U UUID:根据UUID定位设备
- swap文件系统:
- Linux上的交换分区必须使用独立的文件系统;
- 且问津系统的Sysrem ID必须为82;
- 创建swap设备:mkswap命令
- mkswap [option] device
- -L LANEL:指明卷标
- -f:强制
- window无法识别LInux的文件系统,因此,存储设备需要两种系统之间交叉使用时,应该使用sindows和linux同时支持的文件系统fat32(vfat)
- # mkfs.vfat device
-
文件系统的使用:
- 首先要”挂载”: mount命令和umount命令
- 根文件系统这外的其他文件系统要想能够被访问,都必须通过”关联”至根文件系统上的某个目录来实现,此关联操作即为”挂载”;此目录即为挂载点:,
- 挂载点:mount_point ,用于作为令一个文件系统的访问入口:
- 1 , 事先存在;
- 2 , 应该使用未被或不会被其他进程使用到的目录;
- 3 , 挂载点下原有的文件将会被隐藏;
- mount命令:
- mount [-fnrsvw] [-t vfstype] [-o options] device dir
- -r :只读挂载
- -w:读写挂载
- -n:默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中;-n用于禁止此特性;
- -t :指明要挂在的设备文件系统类型;可省略,此时mount会通过blkid来判断要挂载的设备文件
- -L:挂载时一卷标的方式指明设备;
- -U UUID:挂载时以UUID的方式指明设备;
- mount -U UUID dir
- -o options:挂载选项
- syunc/asyunc:同步/异步操作
- atime/noatime:文件或目录在被访问时上是否更新其访问时间戳;
- diratime/nodiratime:目录在被访问时是否更新其访问时间戳
- remount:重新挂载;
- acl:支持使用facl功能;
- # mount -o acl device dir
- # tune2fs -o acl device
- ro:只读
- rw:读写
- dev/nodev:次设备上是否允许穿点设别备文件;
- exec/noexec :是否允许运行设备上的程序;
- user/nouser:是否允许普通用户挂载此文件系统
- defaults
- 查看当前系统所有已挂载的设备;
- mount
- cat /etc/mtab
- cat /proc/mounts
- 挂载光盘:
- mount -r /dev/cdrom mount_point
- 光盘设备文件: /dev/cdrom, /dev/dvd
- 挂载U盘:
- 实现识别U盘的设备文件;
- 挂载本地的回环设备:
- mount -o loop /PATH/TO/SOME_LOOP_FILE
- umount1
- umount device |dir
- 注意 :正在对进程访问的程序的挂载点不能被卸载;
- 查看被那个或那些进程所占用;
- lsof MOUNT_POINT
- fuser -v MOUNT_POINT
- 交换分区的启用和禁用:
- 启用:swapon
- swapon [option][DEVICE]
- -a:定义在/etc/fstab文件这的所有swap设备;
- 禁用:swapof
- swapoff DEVICE
- 设定除根文件系统以外的其他文件系统能够开机时自动挂载:/ect/fstab文件每行定义一个要挂载的文件系统及相关属性;
- 6个字段
- 1 . 要挂载的设备:
- 设备文件:
- LABEL
- UUID
- 伪文件系统:如 sysfs, proc ,tmpfs等
- 2 . 挂载点
- swap类型的设备的挂载点为swap;
- 3 . 文件系统类型
- 4 . 挂载选项
- defaults :使用默认挂载选项;
- 如果要同时指明读个挂载点选项,彼此间以事情分隔;
- defsults, acl , noatime ,noexec
- 5 . 转储频率:
- 0:从不备份
- 1:每天备份
- 2:每隔一天备份
- 6 . 自检次序
- 0:从不自检
- 1: 首先自检,通常只能是根文件系统可用;
- 2:次级自检
- mount -a 可自动挂载定义在此文件中的所支持自动挂载的设备;
- df和du
- df:
- df[option]….file..
- -l:仅显示本地文件的相关信息;
- -h:显示容易识别信息状态
- -i:显示inode的使用状态而非blocks
- du:
- du[option]….file..
- -s :sumay
- -h:human -readable
-
配置配额系统:
- 在内核中执行
- 以文件系统为单位启用
- 对不同组或者用户的策略不同
- 根据块或者节点进行限制
- 执行软限制(soft limit)
- 硬限制(hard limit)
- 初始化
- 分区挂载选项:usrquota , grpguota
- 初始化数据库:quotacheck
- 执行
- 开启或者取消配额:quotaon , quotaoff
- setquoat usename 4096 512 40 50 /foo
- 定义原始标准用户:
- qdquota -p user1 user2
- 告配额状态:
- 用户调查:quota username
- 配额概述:repquota /mountpoint
-
配额实现
- 启用配额功能
- vim /etc/fstab
- defaults usrquota,grpquota
- mount -o remount /home
- 创建配额数据库
- quotacheck -c u/g /home
- 启用数据库
- quotaon /home
- quotaon -p /home 查看
- edquota user1
- setquota user1 800000 1000000 0 0 /home
- edquota -p user1 user2
- edquota -g g1
- repquota /home
- quota user1
- 测试
- 用户登录 /home建文件
-
迁移分区
- 示例:
- 1 . 备份
- /home
- 2 . 创建分区
- /dev/sdc1
- 3 . 格式化
- mkfs.ext4 /dev/sdc1
- 4 . 挂载
- mkdir /mnt/home
- mount /dev/sdc1 /mnt/home
- 5 . 设置单用户模式
- init 1
- 6 . 原文件的属性及权限一起拷贝到新的目录下
- cp -av /home/* /mnt/home/将home
- 7 . 删除原目录
- rm -rf /home/*
- vim /etc/fstab
- /dev/sdc1 /home ext4 defaults 0 0
- 挂载
- mount -a
- 查看
- ls /home/
- du -sh /home
- 9 . 切换用户模式
- init 5
- 卸载
- umount /mnt/home
- rmdir /mnt/home
- 注意根目录迁移不了
-
RAID磁盘阵列
- Redundant Arrays of Inexpensvie DisksIndpendent
- Berkeley: A case for Redundent Arrays of Inexpensive Disks RAID
- 提高IO 能力
- 磁盘并行读写
- 提高耐用性
- 磁盘冗余来实现
- 级别:多块磁盘组织在一起的工作方式有所不同;
- RAID实现的方式;
- 外接式的磁盘阵列;
- 内接式RAID;主板集成RAID控制器 ;存在与BIOS里
- Softare RAID;
- 级别:level
- RAID-0 0, 条带卷,strip
- RAID-1 1,镜像卷 ,mirror
- RIAD-2
- …..
- RAID -0:
- 读 ,写性能提升
- 可用空间:N*min(S1,S2…..)
- 无容错能力
- 最少磁盘数:2,2+
- RAID-1
- 读性能提升, 写性能略有下降;
- 可用空间:1*min(S1,S2,….)
- 有冗余能力
- 最少磁盘数:2,2+
- RAID-5:
- 读,写性能提升
- 可用空间:(N-1)*min(S1,S2,…)
- 有容错能力:1块磁盘
- 最少磁盘盘数:3,3+
- RAID-6
- 读, 写性能提升
- 可用空间:(N-2)*min(S1,S2,…)
- 有容错能力:2快磁盘
- 最少磁盘数:4,4+
- RAID-10:
- 读写性能提升
- 可用空间:N*min(S1,S2,…)/2
- 有容错能力:每组镜像最多只能坏一块;
- 最少磁盘数:4,4+
- RAID-01:
- JBOD:Just a Bunch of Disks
- 功能:将多块磁盘的空间合并一个大的连续空间使用;
- 可用空间;sum(S1,S2,..)
- 常用级别:RAID -0,-1,-5,-10,-50,JBOD
- 实现方式:
- 硬件实现方式
- 软件实现方式
- Centos6上的软件RAID的实现
- 结合内核中的md(multi devices)
- mdadm:模式化的工具
- 语法格式:mdadm [mode] raiddevice[option]component-devices
- 支持RAID级别: LINEAR,RAID0,1,4,5,6,10;
- 模式:
- 创建: -C
- 装配:-A
- 监控:-F
- 管理:-f,r,a,
- raiddevice :/dev/md#
- component-devices:任意设备
- 软件RIAD的实现
- -C:创建模式
- -n#:使用#个块设备来创建次RAID;
- -l#:指明要创建的RAID的级别;
- -a{yes|no}:自动创建目标RAID设备的设备文件;
- -c :指明块大小
- -x#:指明空闲盘的个数
- -D显示raid的详细信息;
- mdadm-D /dev/md#
- 软RAID管理
- 生成配置文件: mdadm -Ds >> /etc/mdadm.conf
- 以防止停用后无法启用
- 停止设备:mdadm -S /dev/md0
- 激活设备:mdadm -As/dev/md0
- 强制启动:mdadm -R/dev/md0
- 删除raid信息:mdadm –zero-superblock /dev/sdb
- 删除前取消挂载
- 管理模式:
- -f:标记指定磁盘为损坏”
- -r:移除磁盘
- -a:添加磁盘
- 观察md状态:
- cat /proc/mdstat
- 停止md设备:
- mdadm -S /de/md#
- watch:
- -nl :刷新时间隔,单位是秒:
- watch -n# COMAND
-
软RAID配置示例:
- 1,使用mdadm创建并定义RAID设备
- mdadm -C /dev/md5 -a yes -5 -n 3 -x 1 /dev/sd{b,c,d,e}1
- 用文件系统对每个RIAD设备进行格式化
- mke2fs -j /dev/md0
-
示例实现raid0,raid5
- raid0
- 1 分区
- /dev/sdb1 /dev/sdc1 创建的时候后注意改ID (t fd )
- partx -a /dev/PARTITION 同步
- 2 . 创建raid设备
- mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sd{b,c}1
- 3 . 格式化
- mkfs.ext4 /dev/md0
- 4 . 挂载
- mkdir /mnt/raid0
- mount /dev/md0 /mnt/raid0
- 写配置文件
- vim /etc/fstab
- UUID=”38b2b0c8-e96b-4f07-b74b-52510d1aff9a” /mnt/raid0 ext4 defaults 0 0
- raid5
- 1 . 分区
- /dev/sdd1 /dev/sde1 /dev/sdf /dev/sdb2
- partx -a /dev/PARTITION同步
- 2 . 创建raid设备
- mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sdd1 /dev/sde1 /dev/sdf /dev/sdb2
- 总共四个其中一个是备用
- 3 格式化
- mkfs.ext4 /dev/md5
- 4 . 挂载
- mkdir /mnt/raid5
- mount /dev/md5 /mnt/raid5
- 5 . 生成配置文件 否则禁用后启用不了
- mdadm -Ds > /etc/mdadm.conf
- 6 . 禁用和启用
- umount /mnt/raid0
- mdadm -S /dev/md0
- mdadm -A /dev/md0
- 模拟损坏
- mdadm /dev/md5 -f /dev/sde1
- -f:指定其设备失败
- 移除
- mdadm /dev/md5 -r /dev/sde1
- 恢复
- 添加到raid成员
- mdadm /dev/md5 -a /dev/sde1
- 增加raid成员数量从3变为4个
- mdadm -G /dev/md5 -n 4 -a /dev/sdd3
- resize2fs /dev/md5 同步文件系统
-
LVM:逻辑卷管理器:
- LVM:logical Volume Manager ,Version :2
- 允许对卷进行方便操作的抽象层,包括重新设定文件系统大小.
- 允许在多个物理设备重新组织文件系统
- 步骤:
- 将设备指定为物理卷,用一个或者多个物理卷来创建一个卷组;
- 物理卷是用固定大小的物理区域来定义的;
- 在物理卷上创建的逻辑卷是由物理区域(PE)组成;
- 可以在逻辑卷上创建文件系统;
- pv–>vg–>lv
- 创建:pv物理卷:
- 如果创建分区需修改文件ID为8e,直接使用硬盘则不需要.
- pvcrate /dev/sdb
- pvcreate /dev/sdc
- pvdisplay查看
- 创建卷组指定pe大小
- vgcreate -s 16M vg0 /dev/sd{b,c}
- vgdisplay查看
- 创建逻辑卷:注意指定组的原空间大小
- 指定名称及大小分为-L 以G为单位和-l以PE为单位,最后指定组名
- lvcreate -n lv0 -L 50G /-l 1000 vg0
- lvcreate -n lv0 -l 1-100% 1000 vg0 按照百分比指定大小
- lvdisplay查看
- 格式化文件系统,及挂载
- mkfs.ext4 /dev/vg0/lv0
- mkdir /mnt/lv0
- mount /dev/vg0/lv0 /mnt/lv0
- 扩展逻辑卷:根据vg空间大小扩展
- lvextend -L 100G /dev/vg0/lv0 (用户不受其扩容影响)
- 因为其新扩的空间没有文件系统所以必须给其创建文件系统如下
- resize2fs /dev/vg0/lv0 (ext文件系统系列)
- xfs_growfs /dev/vg0/lv0 xfs文件系统
- 把剩下的所有空间都占用
- lvextend -l +100%FREE /dev/vgo/lvo
- 卷组扩容
- vgextend vg0 /dev/sdd
- 当其中一个卷组其中有损坏则将其PE移到组内另外的有足够空间的卷,例如sdc损坏
- pvmove /dev/sdd
- 将损坏的卷移除
- vgreduce vg0 /dev/sdc
- pvremove /dev/sdc
- 卷组消减:注意原文件的大小或者备份
- umout /mnt/lv0
- resize2fs /dev/vg0 50G
- e2fsck -f /dev/vg0/lv0 (检查)
- resize2fs /dev/vg0 50G
- lvreduce – L 50G /dev/vg0/lv0
- mount /dev/vg0/lv0 /mnt/lv0
- xfs 只能扩不能缩
- 改名
- vgrename vg0 XXX
- pvscan 扫描
- vgexport vgxxx 导出
- dm:设备映射组件:device mapper
- 将一个或多个底层块设备组织成一个逻辑设备的模块;
- 逻辑卷可支持扩展和收缩不影响原数据;
- /dev/dm-#
- /dev/mapper/VG_NAME-LV _NAME
- /dev /mapper/vol0-root
- pv物理卷:管理命令:
- pvs:简要pv信息显示
- pvdisplay:显示pv的详细信息
- pvcreate: /dev/DEVICE
- pvremove:删除
- vg卷组管理命令
- vgs:vg简要信息和查看
- vgdisplay:vg详细信息查看
- vgcreate:创建vg
- -s:指明PE大小
- lv逻辑卷管理
- lvs: 现有逻辑卷
- lvdisplay:查看详细lv信息
- -L:指明逻辑卷大小空间
- -l :指定分配盘区数量
- -n:指明名称
- -v:指明在哪个vg创建
- 语法格式:
- lvcreate -L # -n NAME VolumeGroup
- 扩展逻辑卷:支持在线扩展
- lvextend -L +#,# /dev/VG_NAME/LV_NAME
- resize2fs /dev/VG_NAME/VG_NAME
- 缩减逻辑卷:缩减后的空间一定要容纳本身文件大小空间
- umount /dev/VG_NAME/VG_NAME
- e2fsck -f /dev/VG_NAME/LV_NAME
- lvreduce /dev/VG_NAME/LV_NAME #
- lvreduce -L [-]# /dev/VG_NAME/LV_NAME
- dd:命令:通过块复制
- 用法: dd if=/PTAH/FROM/SRC of=/PATH/TO/DEST
- bs=# block size,复制单元大小
- count=# 数量复制多少的bs
- 磁盘拷贝:
- dd if=/dev/sda of=/dev/sdb
- 将/dev/sda块及属性copy到/dev/sdb
- 备份MBR
- dd if=/dev/sfa of=/tmp/mbr.mbr bs=512 count=1
- 破坏MBR中的bootloader:分区表
- dd if=/dev/zero of=/dev/sda bs=256 count=1
- 两个特殊设备:
- /dev/null:数据黑洞
- /dev/zero:零
- 快照:snapshot
- 快照原理:将当前磁盘文件数据储存备份(只包括其修改的文件数据)
- 可以多次使用,(恢复后快照消失)
- 快照使用:
- 逻辑卷快照
- lvcreate -s -n bblv0 -L 1G /dev/vg0/lv0
- 挂载
- mkdir /mnt/snap
- mount -r /dev/vg0/bblv0 /mnt/snap( -r 只读)
- 删除快照
- umount /mnt/bblv0
- lvremove /dev/vg0/bblv0
- 恢复
- lvconvert –merge /dev/vg0/bblv0
- 重新挂载
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8839 人正在系统学习中 相关资源:GHOST系统只剩C盘数据恢复软件_ghost分区丢失只剩c盘数据恢复…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!