CentOS 7磁盘分区及文件系统管理

简介:

一、CentOS 7磁盘及文件系统特性

    在CentOS 7,不管是IDE硬盘还是SATA硬盘,在linux里面的硬盘设备文件标识都为/dev/sd[a-z]。(当然这一特性在CentOS 6中就已经实现)

    CentOS 7默认使用的文件系统为xfs。

二、磁盘分区管理工具

    磁盘分区管理工具有很多,在CentOS 7上也支持传统的fdisk工具,还有parted,sfdisk,本文以fdisk介绍,如果对parted、sfdisk等工具有兴趣可以看我的另外一篇博客:http://xinzong.blog.51cto.com/10018904/1750472 浅谈在Linux中磁盘超出2T的管理方式

 fdisk命令:

        fdisk -l [-u] [device...]

    1、查看分区表信息

        fdisk -l [device]  # 不加任何设备,默认查看所有

1
2
3
4
5
6
7
8
9
10
# fdisk -l /dev/sda
Disk  /dev/sda : 128.8 GB, 128849018880 bytes, 251658240 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical /physical ): 512 bytes / 512 bytes
I /O  size (minimum /optimal ): 512 bytes / 512 bytes
Disk label  type : dos
Disk identifier: 0x000b0d11
    Device Boot      Start         End      Blocks   Id  System
/dev/sda1    *        2048     1026047      512000   83  Linux
/dev/sda2          1026048   251658239   125316096   8e  Linux LVM

    2、管理分区

        fdisk提供了一个交互式的借口来管理分区,他有许多子命令,分别实现不同管理功能;特点是在内存中完成,不直接同步到硬盘上,可通过w来保存。

        常用命令:

    n:创建新分区

    d:删除已有分区

    t:修改分区类型

    l:查看所有已经ID

    w:保存并退出

    q:不保存并退出

    m:查看帮助信息

    p:显示现有分区信息

wKiom1bk3PaBOfn5AAB5uYhW2w4281.png

wKioL1bk3qLSQQ0WAACHzjO_t4E608.png

wKiom1bk3l-jfVk7AADN2VtvgrA644.png

    注意:使用w保存退出后,内核不会立即识别新分区,此处如果有需要,可以使用命令使内核强制读取。

     查看已经读取分区列表:

1
2
3
4
5
6
7
8
9
10
11
12
# cat /proc/partitions 
major minor   #blocks  name
    8       16   20971520 sdb
    8       17    5242880 sdb1
    8       18    5242880 sdb2
    8        0  125829120 sda
    8        1     512000 sda1
    8        2  125316096 sda2
   11        0    7413760 sr0
  253        0   52428800 dm-0
  253        1    2097152 dm-1
  253        2   70721536 dm-2

    通知内核强制重读磁盘分区表:

CentOS 5:partprobe [device]

CentOS 6,7:partx, kpartx

partx -a [device]

kpartx -af [device]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# partx -a /dev/sdb
partx:  /dev/sdb : error adding partitions 1-4
# cat /proc/partitions 
major minor   #blocks  name
    8       16   20971520 sdb
    8       17    5242880 sdb1
    8       18    5242880 sdb2
    8       19    5242880 sdb3
    8       20          1 sdb4
    8        0  125829120 sda
    8        1     512000 sda1
    8        2  125316096 sda2
   11        0    7413760 sr0
  253        0   52428800 dm-0
  253        1    2097152 dm-1
  253        2   70721536 dm-2

三、文件系统管理

    创建文件系统,就是对分区进行格式化,格式化分为:低级格式化(分区之前进行,划分磁道)、高级格式化(分区之后对分区进行,创建文件系统),一般低级格式化都有硬盘厂商来完成。

文件系统管理工具:

    A、ext系列文件系统管理工具:

        1、创建文件系统工具

           mkfs系列(mkfs.ext2, mkfs.ext3, mkfs.ext4)

                # mkfs系列的使用方法比较简单,没有过多参数

wKiom1blGnHhVtlNAAB1k_iplrU516.png

           mke2fs:

                使用格式: mke2fs [OPTIONS] device

                常用命令参数:

                    -t {ext2|ext3|ext4}:指明要创建的文件系统类型

    mkfs.ext4 = mkfs -t ext4 = mke2fs -t ext4

                    -b {1024|2048|4096}:指明文件系统的块大小;

                    -L LABEL:指明卷标;

                    -j:创建有日志功能的文件系统ext3;

        # mke2fs -j = mke2fs -t ext3 = mkfs -t ext3 = mkfs.ext3


wKiom1blIvPTcbWVAABzghjVStg650.png       

        2、卷标查看与设定

           e2label

1
2
3
4
5
# e2label /dev/sdb2
MYDATA
# e2label /dev/sdb2 DATA
# e2label /dev/sdb2
DATA

        3、检查及修复文件系统工具

           e2fsck

                -y:对所有问题自动回答为yes; 

        -f:即使文件系统处于clean状态,也要强制进行检测;

1
2
3
4
5
6
7
8
9
10
11
# e2fsck /dev/sdb2
e2fsck 1.42.9 (28-Dec-2013)
DATA: clean, 11 /655360  files, 204238 /10484736  blocks
# e2fsck -yf /dev/sdb2
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
DATA: 11 /655360  files (0.0% non-contiguous), 204238 /10484736  blocks

           fsck:

                -t fstype:指明文件系统类型;

         fsck -t ext4 = fsck.ext4

                -a:无须交互而自动修复所有错误;

                -r:交互式修复;

1
2
3
4
# fsck -t ext4 /dev/sdb1
fsck  from util-linux 2.23.2
e2fsck 1.42.9 (28-Dec-2013)
/dev/sdb1 : clean, 11 /196608  files, 31036 /786432  blocks

        4、查看修改ext系列文件的某些属性

           dumpe2fs:             

1
  # dumpe2fs /dev/sdb1

           tune2fs:

                命令格式:tune2fs [OPTIONS] device

                常用参数: 

                    -l:查看超级块的内容;              

1
# tune2fs -l /dev/sdb1

                    -j:启用日志系统,在ext3以上默认启用,此处仅针对ext2文件系统

                    -L LABEL:修改卷标;

1
2
3
4
5
6
# e2label /dev/sdb1
MYDATA
# tune2fs -L TESTDATA /dev/sdb1
tune2fs 1.42.9 (28-Dec-2013)
# blkid /dev/sdb1
/dev/sdb1 : LABEL= "TESTDATA"  UUID= "2ca4b66c-3e37-460d-a300-022e916413a8"  TYPE= "ext4"

                    -m #:调整预留空间百分比,默认为5%;

wKiom1blKFeDO_fuAAB32u99ej4940.png

wKiom1blKFzhfUnVAAByAvmVqJ4781.png

        # 此操作一般在硬盘比较大的场景中适用

                    -O [^]FEATHER:开启或关闭某种特性;

wKioL1blLbfjQJS8AAB2w3w0Wr8810.png

wKiom1blLUGD15Z7AACA6T7zdb4426.png

                    -o [^]mount_options:开启或关闭某种默认挂载选项

    B、xfs文件系统管理工具:         

        创建文件系统工具:

            1、mkfs.xfs     

1
2
3
4
5
6
7
8
9
10
# mkfs.xfs -f /dev/sdb1
meta-data= /dev/sdb1               isize=256    agcount=4, agsize=655360 blks
          =                       sectsz=512   attr=2, projid32bit=1
          =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
          =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=2560, version=2
          =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

        修复文件系统工具:

            2、fsck

                 -t fstype:指明文件系统类型;

         -a:无须交互而自动修复所有错误;

                 -r:交互式修复;

1
2
3
# fsck -t xfs -a /dev/sdb1
fsck  from util-linux 2.23.2
/sbin/fsck .xfs: XFS  file  system.

    C、其他文件系统管理工具

        swap管理工具:

            # 注意:swap需要在分区时文件系统类型改为82

1
2
3
4
5
6
7
8
9
10
11
12
# fdisk -l /dev/sdb
 
Disk  /dev/sdb : 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical /physical ): 512 bytes / 512 bytes
I /O  size (minimum /optimal ): 512 bytes / 512 bytes
Disk label  type : dos
 
Disk identifier: 0x7a37859b
    Device Boot      Start         End      Blocks   Id  System
/dev/sdb1             2048    20973567    10485760   83  Linux
/dev/sdb2         20973568    41943039    10484736   82  Linux swap / Solaris

            格式化:mkswap

            启用/禁用:swapon、swapoff

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# mkswap /dev/sdb2
mkswap:  /dev/sdb2 : warning: wiping old ext4 signature.
Setting up swapspace version 1, size = 10484732 KiB
no label, UUID=f21d2d05-a2c7-49ab-b7fd-202ceceb182c
 
# free -m
               total        used         free       shared  buff /cache    available
Mem:            977         136         673           6         167         685
Swap:          2048           0        2048
 
# swapon /dev/sdb2
 
# free -m
               total        used         free       shared  buff /cache    available
Mem:            977         144         666           6         167         677
Swap:         12287           0       12287
 
# swapoff /dev/sdb2
 
# free -m
               total        used         free       shared  buff /cache    available
Mem:            977         136         673           6         167         685
Swap:          2048           0        2048

四、文件系统使用

    在Linux中文件系统想要使用,需要挂载,挂载分为临时挂载(重启后不能继续使用,需要重新挂载)、永久挂载(卸载配置文件中)。

    1、临时挂载

        说mount之前说一下umount,因为期间可能会用到,方便朋友们理解

        a、umount:卸载

          umount  {dir|device}

            查看被哪个或哪些进程所战用:

# lsof  MOUNT_POINT

# fuser -v  MOUNT_POINT

         终止所有正在访问某挂载点的进程:

# fuser  -km  MOUNT_POINT



        2、mount命令:

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

            选项:

                -r:readonly,只读挂载; 

1
2
3
# mount -r /dev/sdb2 /mnt/
# mkdir /mnt/test
mkdir : cannot create directory ‘ /mnt/test ’: Read-only  file  system

                -w:read and write, 读写挂载,默认为读写挂载

1
2
3
4
# mount -w /dev/sdb2 /mnt/
# mkdir /mnt/testfile
# ls /mnt/
lost+found  testfile

               -t vfstype:指明要挂载的设备上的文件系统的类型;多数情况下可省略,此时mount会通过blkid来判断要挂载的设备的文件系统类型;

1
2
3
4
5
6
7
8
9
10
11
12
# mount -t xfs /dev/sdb2 /mnt
# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda2       xfs        40G  247M   40G   1% /
devtmpfs       devtmpfs  475M     0  475M   0%  /dev
tmpfs          tmpfs     489M     0  489M   0%  /dev/shm
tmpfs          tmpfs     489M  6.8M  483M   2%  /run
tmpfs          tmpfs     489M     0  489M   0%  /sys/fs/cgroup
/dev/sda3       xfs        20G  2.6G   18G  13%  /usr
/dev/sda1       xfs       497M  138M  359M  28%  /boot
tmpfs          tmpfs      98M     0   98M   0%  /run/user/0
/dev/sdb2       xfs        10G   33M   10G   1%  /mnt

                -L LABEL:挂载时以卷标的方式指明设备;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# blkid /dev/sdb2
/dev/sdb2 : LABEL= "MYDATA"  UUID= "ddbd612d-3830-49ba-86ce-65ba1519f6ae"  TYPE= "xfs" 
# mount -L MYDATA /mnt
# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda2       xfs        40G  247M   40G   1% /
devtmpfs       devtmpfs  475M     0  475M   0%  /dev
tmpfs          tmpfs     489M     0  489M   0%  /dev/shm
tmpfs          tmpfs     489M  6.8M  483M   2%  /run
tmpfs          tmpfs     489M     0  489M   0%  /sys/fs/cgroup
/dev/sda3       xfs        20G  2.6G   18G  13%  /usr
/dev/sda1       xfs       497M  138M  359M  28%  /boot
tmpfs          tmpfs      98M     0   98M   0%  /run/user/0
/dev/sdb2       xfs        10G   33M   10G   1%  /mnt

                -U UUID:挂载时以UUID的方式指明设备;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# umount /dev/sdb2
# blkid /dev/sdb2
/dev/sdb2 : LABEL= "MYDATA"  UUID= "ddbd612d-3830-49ba-86ce-65ba1519f6ae"  TYPE= "xfs" 
# mount -U ddbd612d-3830-49ba-86ce-65ba1519f6ae /mnt
# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda2       xfs        40G  247M   40G   1% /
devtmpfs       devtmpfs  475M     0  475M   0%  /dev
tmpfs          tmpfs     489M     0  489M   0%  /dev/shm
tmpfs          tmpfs     489M  6.8M  483M   2%  /run
tmpfs          tmpfs     489M     0  489M   0%  /sys/fs/cgroup
/dev/sda3       xfs        20G  2.6G   18G  13%  /usr
/dev/sda1       xfs       497M  138M  359M  28%  /boot
tmpfs          tmpfs      98M     0   98M   0%  /run/user/0
/dev/sdb2       xfs        10G   33M   10G   1%  /mnt

                -o options:挂载选项

            sync/async:同步/异步操作;

            atime/noatime:文件或目录在被访问时是否更新其访问时间戳;

            diratime/nodiratime:目录在被访问时是否更新其访问时间戳;

            remount:重新挂载; 

            acl:支持使用facl功能;

                 # mount -o acl  device dir 

                 # tune2fs  -o  acl  device 

            ro:只读 

            rw:读写 

            dev/nodev:此设备上是否允许创建设备文件;

            exec/noexec:是否允许运行此设备上的程序文件;

            auto/noauto:

            user/nouser:是否允许普通用户挂载此文件系统;

            suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效;               有一个默认选项:defaults 其中包含: rw, suid, dev, exec, auto, nouser, async, and relatime.

1
2
3
4
5
6
7
8
9
# mount -o remount,ro,rw,auto,atime /dev/sdb2
 
# mount |tail -1
/dev/sdb2  on  /mnt  type  xfs (rw,relatime,attr2,inode64,noquota)
 
# mount -o remount,defaults /dev/sdb2
 
# mount |tail -1
/dev/sdb2  on  /mnt  type  xfs (rw,relatime,attr2,inode64,noquota)

    2、永久挂载既:设定除根文件系统以外的其它文件系统能够开机时自动挂载

        自动挂载文件:/etc/fstab

1
2
3
4
5
6
7
8
9
10
11
12
13
# cat /etc/fstab 
#
# /etc/fstab
# Created by anaconda on Fri Mar  4 08:36:03 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=ad88b2e2-0eac-45e8-80b3-742a642827d7 /                       xfs     defaults        0 0
UUID=756954a4-022d-4da1-abe5-ed3dc587c95a  /boot                    xfs     defaults        0 0
UUID=19dba320-753d-45b3-9071-85ae514f46e0  /usr                     xfs     defaults        0 0
UUID=67ffa57f-07e6-426f-8914-f04154a11b47 swap                    swap    defaults        0 0
/dev/sdb2        /mnt         xfs     defaults    0 0

        /etc/fstab下面分为6个字段:

            1、要挂载的设备(可以使用LABEL、UUID、设备文件)

            2、挂载点

            3、文件系统类型

            4、挂载选项(defaults使用默认挂载选线,如需同时指明,则:defaults,acl)                    5、转储频率

                0:从不备份

                1:每天备份

                2:每隔一天备份

            6、自检次序

                0:不自检

                1:首先自检,通常只用于根文件系统

                2:次级自检

            mount -a:可自动挂载定义在此文件中的所支持自动挂载的设备;

    实例:     

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda2       xfs        40G  247M   40G   1% /
devtmpfs       devtmpfs  475M     0  475M   0%  /dev
tmpfs          tmpfs     489M     0  489M   0%  /dev/shm
tmpfs          tmpfs     489M  6.8M  483M   2%  /run
tmpfs          tmpfs     489M     0  489M   0%  /sys/fs/cgroup
/dev/sda3       xfs        20G  2.6G   18G  13%  /usr
/dev/sda1       xfs       497M  138M  359M  28%  /boot
tmpfs          tmpfs      98M     0   98M   0%  /run/user/0
 
# vim /etc/fstab  #此处使用vim进行编辑,结果如下输出
 
# cat /etc/fstab
 
#
# /etc/fstab
# Created by anaconda on Fri Mar  4 08:36:03 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=ad88b2e2-0eac-45e8-80b3-742a642827d7 /                       xfs     defaults        0 0
UUID=756954a4-022d-4da1-abe5-ed3dc587c95a  /boot                    xfs     defaults        0 0
UUID=19dba320-753d-45b3-9071-85ae514f46e0  /usr                     xfs     defaults        0 0
UUID=67ffa57f-07e6-426f-8914-f04154a11b47 swap                    swap    defaults        0 0
/dev/sdb2        /mnt         xfs     defaults    0 0
 
# mount -a
 
# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda2       xfs        40G  247M   40G   1% /
devtmpfs       devtmpfs  475M     0  475M   0%  /dev
tmpfs          tmpfs     489M     0  489M   0%  /dev/shm
tmpfs          tmpfs     489M  6.8M  483M   2%  /run
tmpfs          tmpfs     489M     0  489M   0%  /sys/fs/cgroup
/dev/sda3       xfs        20G  2.6G   18G  13%  /usr
/dev/sda1       xfs       497M  138M  359M  28%  /boot
tmpfs          tmpfs      98M     0   98M   0%  /run/user/0
/dev/sdb2       xfs        10G   33M   10G   1%  /mnt










本文转自 赵大鑫 51CTO博客,原文链接:http://blog.51cto.com/xinzong/1750843,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
Linux
CentOS卸载LVM磁盘的方法
CentOS卸载LVM磁盘的方法
107 0
|
Linux
CentOS7下使用growpart工具进行磁盘热扩容
CentOS7下使用growpart工具进行磁盘热扩容
756 0
CentOS7下使用growpart工具进行磁盘热扩容
|
Linux
CentOS7 系统磁盘空间不足,如何进行扩容
CentOS7 系统磁盘空间不足,如何进行扩容
1158 0
CentOS7 系统磁盘空间不足,如何进行扩容
|
2月前
|
数据可视化 数据挖掘 Linux
如何在CentOS安装DataEase数据分析服务并实现远程访问管理界面
如何在CentOS安装DataEase数据分析服务并实现远程访问管理界面
225 1
|
2月前
|
存储 Java Linux
CentOS软件包管理
CentOS软件包管理
66 0
|
2月前
|
Linux
centos7实现磁盘挂载,解挂,开机自动挂载,解决挂载文件覆盖问题
centos7实现磁盘挂载,解挂,开机自动挂载,解决挂载文件覆盖问题
116 0
|
5月前
|
Linux 网络安全 开发工具
Centos ssh登录管理
Centos ssh登录管理
66 0
|
6月前
|
Linux
Linux centos7.x系统将/home磁盘分配给/
然后再执行umount /home就可以成功了 , 同时执行以下命令把逻辑卷删除了
48 0
|
Linux
Centos7 系列:磁盘挂载和磁盘扩容(新加硬盘方式)
在Centos 7 系统中,新添加硬盘,并将其挂载到自定义的新目录下;新添加硬盘,并为已有硬盘扩容。
2397 0
Centos7 系列:磁盘挂载和磁盘扩容(新加硬盘方式)
|
存储 Java Linux
CentOS软件包管理
CentOS软件包管理

热门文章

最新文章