磁盘管理(笔记)

别来无恙 提交于 2020-03-03 20:16:01

磁盘管理


文件系统管理
重新创建文件系统会损坏原有文件

mkfs: make file system
    -t FSTYPE
    
mkfs -t ext2 = mkfs.ext2
mkfs -t ext3 = mkfs.ext3

专门管理ext系列文件:
mke2fs
    -j: 创建ext3类型文件系统
    -b BLOCK_SIZE: 指定块大小,默认为4096;可用取值为1024、2048或4096;
    -L LABEL:指定分区卷标;
    -m #: 指定预留给超级用户的块数百分比
    -i #: 用于指定为多少字节的空间创建一个inode,默认为8192;这里给出的数值应该为块大小的2^n倍;
    -N #: 指定inode个数;
    -F: 强制创建文件系统;
    -E: 用户指定额外文件系统属性;

blkid: 查询或查看磁盘设备的相关属性
    UUID
    TYPE
    LABEL
    
e2label: 用于查看或定义卷标
    e2label 设备文件 卷标: 设定卷标
    
tune2fs: 调整文件系统的相关属性
    -j: 不损害原有数据,将ext2升级为ext3;
    -L LABEL: 设定或修改卷标;
    -m #: 调整预留百分比;
    -r #: 指定预留块数;
    -o: 设定默认挂载选项;
        acl
    -c #:指定挂载次数达到#次之后进行自检,0或-1表关闭此功能;
    -i #: 每挂载使用多少天后进行自检;0或-1表示关闭此功能;
    -l: 显示超级块中的信息;
    
dumpe2fs: 显示文件属性信息
    -h: 只显示超级块中的信息
    
fsck: 检查并修复Linux文件系统
    -t FSTYPE: 指定文件系统类型
    -a: 自动修复
    
e2fsck: 专用于修复ext2/ext3文件系统
    -f: 强制检查;
    -p: 自动修复;
    

    
挂载:将新的文件系统关联至当前根文件系统
卸载:将某文件系统与当前根文件系统的关联关系预以移除;

mount:挂载
mount 设备 挂载点
    设备:
        设备文件:/dev/sda5
        卷标:LABEL=“”
        UUID: UUID=“”
    挂载点:目录
        要求:
            1、此目录没有被其它进程使用;
            2、目录得事先存在;
            3、目录中的原有的文件将会暂时隐藏;

mount: 显示当前系统已经挂载的设备及挂载点
mount [options] [-o options] DEVICE MOUNT_POINT
    -a: 表示挂载/etc/fstab文件中定义的所有文件系统
    -n: 默认情况下,mount命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件;使用—n选项意味着挂载设备时,不把信息写入此文件;
    -t FSTYPE: 指定正在挂载设备上的文件系统的类型;不使用此选项时,mount会调用blkid命令获取对应文件系统的类型;
    -r: 只读挂载,挂载光盘时常用此选项
    -w: 读写挂载
    
    -o: 指定额外的挂载选项,也即指定文件系统启用的属性;
        remount: 重新挂载当前文件系统
        ro: 挂载为只读
        rw: 读写挂载
        
    
            
挂载完成后,要通过挂载点访问对应文件系统上的文件;

umount: 卸载某文件系统
    umount 设备
    umount 挂载点    

    卸载注意事项:
        挂载的设备没有进程使用;
        
练习:
1、创建一个2G的分区,文件系统为ext2,卷标为DATA,块大小为1024,预留管理空间为磁盘分区的8%;挂载至/backup目录,要求使用卷标进行挂载,且在挂载时启动此文件系统上的acl功能;
# mke2fs -L DATA -b 1024 -m 8  /dev/sda7

# mount -o acl LABEL=DATA /backup

# tune2fs -o acl /dev/sda7
# mount LABEL=DATA /backup

2、将此文件系统的超级块中的信息中包含了block和inode的行保存至/tmp/partition.txt中;
# tune2fs -l | egrep -i  "block|inode" >> /tmp/partition.txt  
# dumpe2fs -h |
3、复制/etc目录中的所有文件至此文件系统;而后调整此文件系统类型为ext3,要求不能损坏已经复制而来的文件;
# cp -r /etc/*  /backup
# tune2    -j /dev/sda7
4、调整其预留百分比为3%;
# tune2fs -m 3 -L DATA /dev/sda7
5、以重新挂载的方式挂载此文件系统为不更新访问时间戳,并验正其效果;
# stat /backup/inittab
# cat /backup/inittab
# stat
 
# mount -o remount,noatime /backup
# cat
# stat

6、对此文件系统强行做一次检测;
e2fsck -f /dev/sda7
7、删除复制而来的所有文件,并将此文件系统重新挂载为同步(sync);而后再次复制/etc目录中的所有文件至此挂载点,体验其性能变化;
# rm -rf /backup/*
# mount -o remount,sync /backup
# cp -r /etc/* /backup



swap分区:
free
    -m

fdisk命令中,调整分区类型为82;
    
创建交换分区:
mkswap /dev/sda8
    -L LABEL

swapon /dev/sda8
    -a:启用所有的定义在/etc/fstab文件中的交换设备
swapoff /dev/sda8


回环设备
loopback, 使用软件来模拟实现硬件

创建一个镜像文件,120G

dd命令:
    if=数据来源
    of=数据存储目标
    bs=1
    count=2
    seek=#: 创建数据文件时,跳过的空间大小;
    
dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1
dd if=/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1

dd if=/dev/zero of=/var/swapfile bs=1M count=1024

/dev/null
    

mount命令,可以挂载iso镜像;
mount DEVICE MOUNT_POINT
    -o loop: 挂载本地回环设备

wget ftp://172.16.0.1/pub/isos/rhci-5.8-1.iso



mount /dev/sda5 /mnt/test


文件系统的配置文件/etc/fstab
    OS在初始时,会自动挂载此文件中定义的每个文件系统
    
要挂载的设备    挂载点        文件系统类型        挂载选项        转储频率(每多少天做一次完全备份)        文件系统检测次序(只有根可以为1)        
/dev/sda5        /mnt/test        ext3        defaults        0 0

mount -a:挂载/etc/fstab文件中定义的所有文件系统


fuser: 验正进程正在使用的文件或套接字文件
    -v: 查看某文件上正在运行的进程
    -k:
    -m
    
    fuser -km MOUNT_POINT:终止正在访问此挂载点的所有进程
    
练习:
1、创建一个5G的分区,文件系统为ext3,卷标为MYDATA,块大小为1024,预留管理空间为磁盘分区的3%,要求开机后可以自动挂载至/data目录,并且自动挂载的设备要使用卷标进行引用;
2、创建一个本地回环文件/var/swaptemp/swapfile来用于swap,要求大小为512MB,卷标为SWAP-FILE,且开机自动启用此交换设备;
# mkdir /var/swaptemp
# dd if=/dev/zero of=/var/swaptemp/swapfile bs=1M count=512
# mkswap LABLE=SWAP-FILE /var/swaptemp/swapfile

/etc/fstab
/var/swaptemp/swapfile      swap        swap        defaults        0 0
3、上述第一问,如何让其自动挂载的同时启用ACL功能;
/etc/fstab
LABEL='MYDATA'        /data        ext3        defaults,acl    0 0

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!