欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

马哥 09_02 _磁盘及文件系统管理详解之五 有大用

创建完分区后=>创建文件系统=>才能被挂载和使用的

裸设备我们不能直接使用,只有一些高级的服务器才能使用裸设备


文件系统管理

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

格式化分区(重新创建文件系统):

mkfs: make file system 创建文件系统

    -t FSTYPE  + 分区(千万不能整个硬盘)


mkfs -t ext2 = mkfs.ext2

mkfs -t ext3 = mkfs.ext3


专门管理ext系列文件:

mke2fs

    -j: (-journal 日志的意思  ext3有日志功能) ext3

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

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

    -m #: 指定预留给超级用户的块数百分比 (不用加百分比,直接一个数字)

    -i #: 用于指多少个字节的空间创建一个 inode,默认为 8192 这里给出的数值应该为块的大小的2^n倍 (小了它就浪费了,没意义了

因为一个文件至少指向一个块)

    -N #:指定 inode个数

    -F:强制创建文件系统 (默认情况下,处于挂载状态下,是不能创建的)

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

    


 






文件系统类型

    ext2

    ext3

    ext4

    等很多


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

    UUID

    TYPE

    LABEL


e2label: 查看或定义卷标

    e2label  设备文件(分区文件)  [ 卷标 ]  (设定卷标)


tune2fs: 调整文件系统的相关属性

    -j   (就由 ext2 变成了 ext3) (不损害原有数据,将 ext2升级为ext3) (但不能降级)

   (块大小不能改,因为它是接近于一个物理属性,想改的话 只能重新格式化)

    -L LABEL:设定或修改卷标

   -m #:调整预留百分比

    -r #: 指定预留块数

    -o: 设定默认挂载选项:

        acl         (access control list)

    -c #:指定挂载次数达到#次之后进行自检:0或-1表示关闭此功能

    -C #:

    -i #:每挂载使用多少天后进行自检:0或-1表示关闭此功能

    -l: 显示超级块中(super block)的信息



dumpe2fs: 显示文件系统属性信息

    -h:只显示超级块(super block)信息



fsck 手动检查 检查并修复  linux 文件系统

    -t FSTYPE: 指定文件系统类型  (指错了 就麻烦了 如果不指的话 自动使用blkid来自动检查  )

    -a : 自动修复 (不询问自动修复)


e2fsck: 专用于修复 ext2/ext3文件系统

    -f:强制检查

    -p:自动修复

    -a:也是自动修复 (为了兼容 fsck)




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

卸载: 将某文件系统(某分区)与当前根文件系统的关联关系予以移除

mount:挂载                  (mount 不带任何选项与参数的时候,显示当前系统上已挂载的所有设备及挂载点,挂载属性等,就是显示 /etc/mtab 的内容吧)

    mount 设备 挂载点(挂载目录)

        设备:

                设备文件 /dev/sda5

                卷标: LABEL=""

                UUID: UUID=""

        挂载点:目录   (一般默认为/mnt (其它的额外其它分区或文件系统,)或 /media(移动性,便携性设备) 下 )

             要求:

                    1),此目录没有被其它进程使用

                    2),目录得事先存在

                    3),目录中的原有文件将会暂时隐藏

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

mount [ options ] [-o options] DEVICE MOUNT_POINT

        -a: (-a all)表示挂载 /etc/fstab文件中定义的所有文件系统 ( Mount all filesystems (of the given types) mentioned in fstab)

        -n: (-n no的意思)默认情况下,mount 命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件;使和-n选项意味着挂载设备时,不把信息写入此文件,不更新此文件

        -t FSTYPE:指定正在挂载设备上的文件系统的类型 (不使用此选项,mount默认会调用blkid命令获取对应文件系统的类型)

        -r: 只读挂载,挂载光盘,常用此选项

        -w:读写挂载 (默认读写挂载,如果挂载光盘的话,只能以只读的方式挂载)


        -o:指定额外的文件系统挂载的功能选项,也即文件系统启用的属性( -o     Options are specified with a -o flag followed by a )

                remount:重新挂载当前文件系统 (卸载和挂载同时实现)

                ro:挂载为只读

                rw:读写挂载

                sync:同步,就是内容写到内存,同时更新到硬盘

                async:异步,就是内容写到内存,不同时更新到硬盘,最后一次性更新到硬盘,效率高,应该是默认的吧




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



umount: 卸载某文件系统

    umount 设备

    umount 挂载点 

    以上两个都可以


卸载注意事项:

     挂载的设备没有进程使用

   







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





[root@ebs-22618 ~]# fdisk -l

image.png




image.png


先创建扩展分区

image.png


创建几个(三个)逻辑分区

image.png


保存退出

image.png


内核未能识别  


查看分区

[root@ebs-22618 ~]# cat /proc/partitions

image.png


重读分区表


 #  partprobe /dev/sda (指定重读哪个磁盘)      也可以   #  partprobe (重读所有磁盘)


# cat /proc/partitions  (查看内核所认识的分区)

image.png




看看当前系统支持哪些文件系统 

[root@ebs-22618 ~]# cat /proc/filesystems

image.png


可能有支持的某文件系统 但它没有显示出来,可能内核没有装载这个模块 

,将来学如何附加额外的模块并支持某个文件系统


image.png



image.png


image.png

一般默认分法 每两个block(8k) 一个 indoe


image.png


image.png


[root@ebs-22618 ~]# which mkfs

/sbin/mkfs

[root@ebs-22618 ~]# ls -la /sbin/mkfs

-rwxr-xr-x. 1 root root 6832 3月  22 2017 /sbin/mkfs

image.png


[root@ebs-22618 ~]# which mkfs.ext2

/sbin/mkfs.ext2

[root@ebs-22618 ~]#


[root@ebs-22618 ~]# ls -l /sbin/mkfs.ext2

-rwxr-xr-x. 5 root root 60432 3月  23 2017 /sbin/mkfs.ext2

#mkfs.vfat /dev/sda6 或 mkfs -t vat

image.png

把这个vfat 的磁盘挂载到 windows 上面,是可以识别的,类似于windows中的快速格式化



ext2

image.png



ext3  (-j 就相当于 ext2)

image.png



image.png


image.png



[root@ebs-22618 ~]# man mke2fs

image.png

image.png


image.png




image.png


#mke2fs -m 3 /dev/sda5

image.png

image.png



image.png


#mke2fs -i 4096 /dev/sda5

image.png


image.png



[root@ebs-22618 ~]# man blkid


image.png

image.png

[root@ebs-22618 ~]# blkid /dev/vda1

image.png


image.png


image.png

image.png

image.png


查看卷标

# e2label /dev/sda5

image.png

设定卷标

# e2label /dev/sda5 HELLODATA

image.png


# blkid /dev/sda5

# tune2fs -j /dev/sda5


# blkid /dev/sda5

image.png

# tune2fs -L MYDATA /dev/sda5

# blkid /dev/sda5

image.png


[root@ebs-22618 ~]# man tune2fs

image.png







image.png


image.png


image.png





image.png


image.png




# tune2fs -l /dev/sda5

image.png


image.png


# dumpe2fs /dev/sda5

image.png

image.png



image.png



image.png

image.png


# dumpe2fs -h /dev/sda5

image.png


image.png


# dumpe2fs /dev/vo10/root

image.png


image.png


[root@ebs-22618 ~]# man fsck


image.png




image.png



[root@ebs-22618 ~]# man e2fsck


image.png


image.png

# mkfs

image.png


# dump (红帽6中)  (dumpe4fs) (应该兼容  dumpe2fs吧,换句话说红帽6中也可以使用 dumpe2fs吧)

image.png

红帽6 可能略用不同(比如 mkfs.ext4) 一般会通用 

# e2fsck /dev/sda5

image.png


# e2fsck -f /dev/sda5

image.png

# e2fsck -f -p /dev/sda5

image.png



# mount /dev/sda5 /mnt/test

image.png


image.png

# umount /dev/sda5

# umount /mnt/test

image.png


# umount /mnt/test

image.png

# umount

image.png




[root@ebs-22618 ~]# man mount


image.png


image.png

image.png

image.png

image.png


image.png

image.png


在 u盘或光盘上启用 suid 不安全 ,不启用的话,就是 nosuid

image.png


image.png


image.png



image.png


image.png


光盘

image.png

# ls /dev

# ls -l /dev/cdrom

image.png

# mount /dev/cdrom /media

# ls /media


image.png


# umount /media/


# mount -r /dev/cdrom /media  (加上只读-r后 不显示警告信息)

image.png

# mount -r /dev/cdrom /media  (或者 加上只读-o ro后 不显示警告信息)


# umount /media/

image.png

image.png

# mount -o remount /dev/cdrom /media

image.png


# umount /mnt/test

# mount /dev/sda5 /mnt/test

# mount

image.png

重新挂载时 挂载点不用指

-o 如果有几个选项,中间用逗号隔开(分开)

# mount -o remount,ro /dev/sda5 

image.png























普通分类: