磁盘管理及文件系统

磁盘管理


本文将从以下几方面介绍

第一部分:磁盘管理

  • 1、浅识Linux磁盘

  • 2、常见命令

第二部分:文件系统管理

  • 1、文件系统的创建

  • 2、文件系统挂载

  • 3、自动挂载配置文件

第一部分:磁盘管理


浅识Linux磁盘

对于Linux来说我们知道一切皆文件,同样在Linux中硬件设备在系统上会映射成相对应的文件,我们就像是在Windows看文件一样只要打开对应的文件就能访问放在硬件中的信息。下面我们来看看一些与磁盘有关的简单命令

常见命令

1、查看空间使用状态
        free 
             -m : 以M为单位显示
             -g : 以G为单位显示
             -h : 人类易读形式显示
        [root@Centos6 ~]#free -h
                     total       used       free     shared    buffers     cached
        Mem:          980M       625M       355M       2.1M        77M       238M
        -/+ buffers/cache:       308M       672M
        Swap:         2.0G         0B       2.0G          

     2、文件系统磁盘占用情况
        df
             -T : 显示文件系统类型
             -h : 以人类易读的形式显示
             -i : 显示inode号

        [root@Centos6 ~]#df -T
        Filesystem     Type    1K-blocks    Used Available Use% Mounted on
        /dev/sda2      ext4     50264772 5054532  42650240  11% /
        tmpfs          tmpfs      502056      76    501980   1% /dev/shm
        /dev/sda3      ext4     40185208  181224  37955984   1% /app
        /dev/sda1      ext4       999320   34944    911948   4% /boot
        /dev/sr0       iso9660   3878870 3878870         0 100% /media/CentOS_6.9_Final

     3、查看某目录总体空间占用情况
        du
             -s : 摘要
             -h : 以人类易读的形式显示

        [root@Centos6 ~]#du -sh /etc
        42M    /etc
     4、转换、复制文件
        dd  if=/path/to/file of=/path/to/file [bs|obs|cbs]=#[k|M|G] count skip seek
             if : inputfile
             of : outputfile
             bs : 指定块大小
             ibs: 一次读#个字节
             obs: 一次写#个字节
             cbs:一次转换#个字节
             count: 复制#个bs块
             skip: inputfile中从头跳过#个ibs大小的块
             seek: outputfile中从头跳过#个ibs大小的块

        [root@Centos6 ~]#dd if=/dev/sda of=/dev/null bs=1M count=1024  #测试磁盘读能力
        1024+0 records in
        1024+0 records out
        1073741824 bytes (1.1 GB) copied, 3.45514 s, 311 MB/s           #可以看出速度还是不错的
这里分享一个修复硬盘的方法(适用于长时间不用的磁盘,非物理性破坏状态下)硬盘长时间不用,会
产生消磁点,当这种情况影响到磁盘的第一个删去时,可能会导致磁盘不能用
使用命令:
dd if=/dev/sda of=/dev/sda   #这里以sda为例
该命令可使消磁点数据恢复,并且整个过程是安全的

第二部分:文件系统管理


文件系统的创建

在Linux中有较多的文件系统类型我们知道的有ext2、ext3、ext4、xfs等
 根据是否支持日志功能可将其分为
             日志型文件系统: ext3、ext4、xfs
             非日志型文件系统: ext2、vft
 首先我们先来了解一下,文件系统在Linux中如何通过命令创建的

 1、创建分区
fdisk 命令
         在创建分区时会有提示信息,按照提示进行选择即可
         eg : fdisk /dev/sda   # 对/dev/sda 进行分区     
     一般在创建完分区后需要查看内核是否已经识别新的分区
         查看方法:
              cat /proc/partition          

             如果没有查看到新的分区,需要通知内核重新读取
             centos6 :  partx -a /dev/sda
             centos7 :  partprobe
2、管理分区

 在创建好后怎样去使用管理分区呢,接下来进行一一说明
管理分区的工具
      (1)、创建文件系统

         mkfs
             -t [ext2 | ext3 | ext4] <==> 等同于mkfs.ext2 | mkfs.ext3 | mkfs.ext4: 修改文件系统类型
             -L : 修改卷标名

         mke2fs (ext专用文件管理系统)
             -t : 修改文件系统类型
             -L : 修改卷标
             -b : 修改block(块)大小,默认4096
             -j : 等同于 -t ext3 
             -i# : 一个inode对应多少字节,默认8192
             -m# : 预留的空间百分比,默认为%5
      (2)、管理文件系统 (重新设定ext文件系统参数值)
         tune2fs
             -l DEVICE : 查看系统块信息 ,其实命令 dumpe2fs -h DEVICE 也能查看设备块(超级块)信息 
             -j : ext2-->ext3
             -L : 修改卷标
             -m#: 修改预留空间百分比
             -o [^]: 开启或关闭指定挂载选项
             -U UUID: 修改UUID值,生成随机UUID命令为uuidgen
        查看指定块设备的属性信息
         blkid 
             -L : 查看卷标名对应的磁盘分区
             -U : 查看UUID对应的磁盘分区
        修复文件分区
            注意: 在进行修复的过程中必须取消挂载状态,不能在线检查修复
         fsck
             -a : 自动修复
             -r : 人机交互式
        专门用于ext文件系统检查
         e2fsck 
             -y : 在修复是自动回答为yes
             -f : 强制进行检查

文件系统的挂载

在创建好文件系统并格式化后怎样去使用它呢,将其挂载到设备文件上我们就可以使用了
(1)、挂载命令
         mount
             -L : 指定卷标名挂在设备
             -U : 以UUID方式挂在设备
             -a : 自动挂载/etc/fstab中的挂载关系
             -n : 挂载时不更新/etc/fstab
             -B --bind : 将目录挂到目录上
             -o [option]:
                        loop : 挂载回环设备,将文件挂到目录上
                        remount : 重新挂载或不卸载重新挂载指定选项
                        acl : 支持使用acl选项
                        user|nouser : 是否允许普通用户挂载此设备
      (2)、卸载
         umount DEVICE 

         当被挂载的文件系统正在使用是不能被卸载的,遇到这种情况我们可以这样解决
             一、查看挂载情况
                     findmnt DEVICE 
             二、查看正在访问文件系统的进程
                     lsof DEVICE  或 fuser -v  DEVICE 
             三、终止正在访问指定的文件系统进程
                     fuser -km DEVICE 
             四、卸载

自动挂载配置文件 (/etc/fstab)

首先我们先打开它看看,是什么样子的
[root@Centos6 ~]#cat /etc/fstab

        UUID=ef20e35d-b3b0-4bb0-a7f0-b6da5f9478ea  /           ext4    defaults        1 1    
        UUID=bad2ae77-157a-4e40-a1c0-8d67af3cc105  /app        ext4    defaults        1 2            
        UUID=90739410-fd0f-4419-900a-2b981300f2d0  /boot       ext4    defaults        1 2    
        UUID=97172ba1-b115-4e5a-b739-8f2b2b309115  swap        swap    defaults        0 0
来解释一下每个字段的含义

 第一字段 : 挂载的设备
             (1)设备文件
             (2)卷标名
             (3)UUID
 第二字段 : 挂载点
 第三字段 : 文件系统类型
             (1)ext2、ext3、ext4等
 第四字段 : 挂载选项
             mount 命令中的选项,默认为default
 第五字段 : 备份频率
             0 : 从不
             1 : 每天
             2 : 每隔一天
 第六字段 : 自检次序
             0 : 不自检,即使有错误在不自检的情况下也不会影响系统正常开机
             1 : 首先自检,通常只有根 "/"才会需要首先自检
             2 : 次级自检,不同设备可以使用同一自检次序

在/etc/fstab文件下实现

1、目录挂载目录
eg : /boot  /mnt/boot  none  bind  0 0
2、文件挂载目录
eg : /app/file  /mnt/boot  ext4 loop  fefault  0 0
3、挂载Windows共享文件
eg : //192.168.x.x/sharefile  /mnt/share  ext4 cifs default ,username=xxx,password=***  0 0

原创文章,作者:M25_ymd,如若转载,请注明出处:http://www.178linux.com/84801

(0)
上一篇 2017-08-15 19:06
下一篇 2017-08-16 19:01

相关推荐

  • 1017作业

    1 生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正 ##先分析硬件时间不对还是系统时间不对,如果是系统时间不对: [root@localhost ~]# hwclock -w [root@localhost ~]#  ##如果是硬件时间不对: [root@localhost ~]#…

    Linux干货 2016-10-18
  • 2016/08/07:文本处理工具及正则表达式

      在本次课程中,本以为和前面的内容难度差不多,内心毫无提防,但在做随堂练习的时候,被惨虐,不由得使我想起了高三时候拿到一张数学单元练习题,一道题也不会做的那种感觉,无助,彷徨,不甘。到了晚上总结了一下,还是有缘由可寻的。直接原因就是前面知识记得不牢固,也并未完全理解是和意思,尤其是tr命令,适用于何处,没按照5W1H方法来进行总结学习,导致应用的…

    Linux干货 2016-08-07
  • path

    path简单应用

    Linux干货 2017-10-30
  • 用户和组的管理

    在Linux系统上,用户管理是基于用户名和密码的方式进行资源的分配的,Linux上的用户分为以下的类别: 管理员 : root  ,UID为0 (这个用户有极大的权限,可以直接无视很多的限制,包括读写执行的权限。所以这个用户的使用要小心,因为他的权限太大。) 普通用户的UID:1-65535 普通用户又可分为: 系统用户(已经存…

    2017-04-08
  • httpd-2.2和httpd-2.4区别 、请求方法和响应状态码、虚拟主机、访问控制、持久链接

    第十周
    The Apache HTTP Server is a powerful, efficient, and extensible web server.
    2018/2/4 16:33

    2018-02-04
  • chrony、sudo、rsyslog

    chrony 程序环境: 配置文件:/etc/chrony.conf 主程序文件:chronyd 工具程序:chronyc unit file: chronyd.service 配置文件:chrony.conf server:指明时间服务器地址; allow NETADD/NETMASK allow all:允许所有客户端主机; deny NETADDR/N…

    Linux干货 2017-06-13