磁盘及文件系统管理(二)

一.文件系统

  1.不能对已有文件的分区创建文件系统会损坏已有的文件

  2.创建某个分区上的文件系统

   a.cat /proc/filesystems 查看当前内核所支持的文件系统类型

   b.cat /proc/partitions 查看当前系统的所有分区信息

   c.mkfs命令--创建一个文件系统

     mkfs -t ext3 /dev/sda5

         -t: 指定文件系统类型

     mkfs -t ext2 = mkfs.ext2

     专门管理ext系列文件:

     mke2fs

  -j: 创建ext3类型文件系统(默认为创建ext2的文件系统)

  -b BLOCK_SIZE: 指定块大小,默认为4096;可用取值为1024、2048或4096

  -L LABEL:指定分区卷标(分区名称)

  -m #: 指定预留给超级用户的块数百分比

  -i #: 用于指定为多少字节的空间创建一个inode,默认为8192;这里给出的数值应该为块大小的2^n倍

  -N #: 指定inode个数

  -F: 强制创建文件系统(用于文件系统已被挂载的情况)

  -E: 用户指定额外文件系统属性    

     blkid: 查询或查看磁盘设备的相关属性

        用法: blkid /dev/sda3

        UUID: 统一的全局标识符

  TYPE: 文件系统类型

  LABEL: 分区的卷标   

     e2label: 用于查看或定义卷标

          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: 自动修复

  3.挂载:将新的文件系统关联至当前根文件系统

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

   挂载完成后,要通过挂载点访问对应文件系统上的文件

   在/mnt/目录下新建一个目录用于文件系统的挂载点(挂载目录下会有一个lost+found的目录)

   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  


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






     

你可能感兴趣的:(磁盘,文件系统管理)