ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux磁盘使用及文件系统管理

2020-09-22 21:31:31  阅读:216  来源: 互联网

标签:mount mnt 文件系统 dev 挂载 Linux 磁盘 test01 root


Linux磁盘使用及文件系统管理

新建

欢迎来到 来到大浪涛天的博客

一、Linux磁盘使用及文件系统管理

1. mount 命令

mount [-fnrsvw] [-t vfstype] [-o options] device dir

1-1. 命令选项:

  1. -r:只读
  2. -w:只写
  3. -n:默认情况下设备的挂载和卸载的操作会同步更新到/etc/mtab文件中,-n用于禁止此特性
  4. -t vfstype:指明要挂载的文件系统的类型,多数情况下可以省略,此时mount通过blkid来判断要挂载设备的文件系统类型
  5. -L:挂载的时候以卷标的方式指明设备
[root@test01 /]# mke2fs -L mydata /dev/sdb1
[root@test01 /]# blkid /dev/sdb1
/dev/sdb1: LABEL="mydata" UUID="6e6ccefa-884b-4271-8547-8368637c15dd" TYPE="ext2" 
[root@test01 /]# mount -L mydata /mnt
  1. -U:挂载的时候以uuid来指明设备
[root@test01 mnt]# blkid /dev/sdb1
/dev/sdb1: UUID="b95393c7-b40d-4767-9d5a-be05c811ed0d" TYPE="xfs" 
[root@test01 mnt]# mount -U b95393c7-b40d-4767-9d5a-be05c811ed0d /mnt
  1. -o options:挂载选项
  • sync/async:同步/异步操作;
  • atime/noatime:文件或目录被访问时是否更新其访问时间戳;同时对文件和目录生效,关闭对性能有大幅度提升,Centos7 上默认是延迟的,所以有时候访问文件的时候,访问的时间戳没有即时更新
  • diratime/nodiratime:目录在访问时是否更新其访问的时间戳;只对目录生效,关闭对性能有大幅度提升,Centos7 上默认是延迟的,所以有时候访问文件的时候,访问的时间戳没有即时更新
  • acl:支持使用文件acl功能
  • remount:重新挂载后面添加新的属性,例如下面这个,重新挂载让/dev/sdb1这分区支持acl。
  [root@test01 /]# mount -o remount,acl /mnt
  [root@test01 /]# setfacl -m u:test:rw- /mnt/fstab
  [root@test01 /]# getfacl /mnt/fstab 
可以使用tune2fs来更改文件系统的选项,让该文件系统支持acl的功能,这样即使mount -o 没加acl的选项依然支持acl,如:
  [root@test01 /]# tune2fs -o acl /dev/sdb1
  [root@test01 /]# tune2fs  -l /dev/sdb1 |grep "Default mount"
  Default mount options:    user_xattr acl
  • ro:只读
  • rw:读写
  • dev/nodev:此设备是否允许创建设备文件
  • exec/noexec:此设备是否允许被执行程序文件
  • auto/noauto:此设备是否允许自动挂载
  • user/nouser:是否允许普通用户挂载文件系统
  • suid/nosuid:是否允许程序文件上的suit/guid权限生效
  • defaults: Use default options: rw, suid, dev, exec, auto, nouser, and async.

1-2. mount 的bind功能

可以实现将一个目录绑定到另外一个目录,作为其临时访问入口

[root@test01 etc]# mkdir /network
[root@test01 etc]# mount --bind /etc/sysconfig/network-scripts/ /network/
[root@test01 etc]# ls /network |grep ifcfg-eth0
ifcfg-eth0
[root@test01 etc]# umount /network/
[root@test01 etc]# ls /network |grep ifcfg-eth0
[root@test01 etc]# echo $?
1

1-3. 查看当前系统下的mount选项

mount
cat /etc/mtab
cat /etc/proc/mounts
[root@test01 etc]# cat /proc/mounts 

1-4. 挂载特殊设备如光盘和iso文件

挂载光盘

mount -r /dev/cdrom /mnt
sr0是指sata接口的光驱设备
[root@test01 etc]# mount -r /dev/cdrom /media/
mount: 在 /dev/sr0 上找不到媒体

挂载本地的回环设备,如.iso或者.img等设备

mount -o loop /PATH/TO/SOME_LOOP_FILE MOUNT_POINT

1-5. umount的特殊情况处理

umount:如果卸载出现繁忙,有用户在访问,强行卸载 umount -lf

[root@test01 ~]# umount /mnt
umount: /mnt:目标忙。
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)
[root@test01 ~]# lsof /mnt
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    1619 root  cwd    DIR   8,17     4096    2 /mnt
[root@test01 ~]# fuser -v /mnt
                     用户     进程号 权限   命令
/mnt:                root     kernel mount /mnt
                     root       1619 ..c.. bash
[root@test01 ~]# fuser -km /mnt
/mnt:                 1619c
[root@test01 ~]# umount /mnt

2. swap文件的创建及启用

生产环境中sawp分区格外重要,特别是针对内存不够的服务器,当系统内存不够的时候,Kernel会将一部分睡眠状态的存储在内存的数据转储到swap分区当中,这样当转储完成后系统可以从内存空间释放这部分内存,
重新分配给需要内存的其他程序,所以swap分区也叫交换分区,值得注意的是交换分区的大小不是越大越好的,一般最大只能是内存的两倍,当内存足够大的时候,交换分区建议设置成和内存相同大小,因为交换分区
是直接使用硬盘的,当交换分区里的数据量太大很可能会出现性能瓶颈的。

2-1. mkswap 创建swap文件

mkswap 创建swap文件,用于增加swap分区的空间,如:

[root@test01 ~]# mkswap /dev/sdb1
mkswap: /dev/sdb1: warning: wiping old ext2 signature.
正在设置交换空间版本 1,大小 = 2096124 KiB
无标签,UUID=d869ebd3-e8f0-48a7-995a-f9d98862ec67

2-2. swapon,swapoff的用法

swapon和swapoff 分别用于启动和关闭swap文件,例如:

[root@test01 ~]# free -m |grep Swap
Swap:          1023           1        1022
[root@test01 ~]# swapon /dev/sdb1
[root@test01 ~]# free -m |grep Swap
Swap:          3070           1        3069
[root@test01 ~]# swapoff /dev/sdb1
[root@test01 ~]# free -m |grep Swap
Swap:          1023           1        1022

2-3. swap -a 的参数

-a 是自动挂载/etc/fstab里面设定了的swap分区,当/etc/fstab里定义好了,可以直接用swapon -a实现自动挂载swap文件。

3. /etc/fstab 文件:

设定除根文件系统以外的其他文件系统能够开机时自动挂载,每行定义一个要挂载的文件系统及相关属性,其中fstab包含6个字段,字段的相关详解如下:

  1. 要挂载的设备:
  • 设备文件
  • LABLE
  • UUID
  • 伪文件系统:如sysfs,proc,tmpfs等
  1. 挂载点
    swap 类型的文件挂载点为swap,其余的为自己设置的挂载点
  2. 文件系统类型
  3. 挂载选项
  • defaults,使用默认的挂载选项,centos7中的默认挂载选项有:rw, suid, dev, exec, auto, nouser, and async
  • 如果有多个挂载选项,彼此之间以“,”相分隔,如:defaults,acl,noatime,noexec
  1. 转储频率
  • 0: 从不备份;
  • 1: 每天备份;
  • 2: 每隔一天备份;
  1. 自检次序:
  • 0: 从不自检
    1. 首先自检,通常用于根文件系统,其他文件系统不能用1,否则会到维护模式
    1. 次级自检

4. df命令

df 用于显示文件系统磁盘空间的使用情况,命令格式为:
df [OPTION]... [FILE]...
常见参数有:

  1. -l: 仅显示本地文件系统的相关信息,网络文件系统则不显示
[root@test01 ~]# mount -t nfs 10.211.55.241:/home/test/1 /mnt
[root@test01 ~]# df -l |grep "/mnt"
[root@test01 ~]# df -h |grep "/mnt"
10.211.55.241:/home/test/1             30G   12G   18G   40% /mnt
  1. -h: 常见的格式显示出大小(例如:1K 234M 2G)
[root@test01 ~]# df -k |grep "/mnt"
10.211.55.241:/home/test/1            30705152  11980800  18724352   40% /mnt
[root@test01 ~]# df -h |grep "/mnt"
10.211.55.241:/home/test/1             30G   12G   18G   40% /mnt
  1. -i 显示inode的使用状态而非blocks的使用状态
[root@test01 ~]# df -i |head -n 2
文件系统                                Inode 已用(I)  可用(I) 已用(I)% 挂载点
/dev/mapper/centos_centos7--tmp-root 15360000  144235 15215765       1% /

5. du命令

显示指定的文件已使用的磁盘空间的总量,包括在层次结构中以 这些以指定文件为根的目录在内。这里的“已使用的磁盘空间”意思 为指定的文件下的整个文件层次结构所使用的空间。
在没给定参数的情况下,du 报告当前目录所使用的磁盘空间,命令格式为:
du [options] [file...]
常见参数有:

  1. -s: sumary,显示目录时不是显示某个文件的大小,而是显示目录的总的大小
[root@test01 ~]# du -sh /usr
3.3G    /usr
  1. -h: 常见的格式显示出大小(例如:1K 234M 2G)
[root@test01 ~]# du -sh /etc
41M     /etc

标签:mount,mnt,文件系统,dev,挂载,Linux,磁盘,test01,root
来源: https://www.cnblogs.com/chacha51/p/13715004.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有