磁盘及文件系统管理—第二篇

挂载配置文件

每行定义一个要挂载的文件系统及相关属性

    使用mount -a挂载/etc/fstab文件中所定义的文件系统

    配置文件格式:

        一共分为6个字段:

            1.要挂载的设备:指定挂载设备        

                可指定设备文件路径进行挂载

                LABEL进行挂载

                UUID挂载

            2.挂载点:指定挂载点

                注意:swap分区挂载点为swap

            3.文件系统类型:Filesystem Type

            4.挂载选项:挂载文件系统时的默认选项

                defaults:使用默认挂载选项        

                如果要同时指定多个挂载选项,彼此间以,分隔

                    defaults,acl,atime,

            5.转储频率

                0:从不备份

                1:每天备份

                2:每个天备份

            6.自检次序

                0:不自检

                1:首先自检,通常只能是跟文件系统

1472195118483929.png

  

  

  

如果/etc/fstab文件配置格式不当,则有可能导致系统无法正常启动,我们来模拟一下故障并解决

2016-08-29_212817.png

1.重启系统发现无法正常启动,输入root密码进入单一用户模式

2016-08-29_213105.png

2.这是我们发现无法对/etc/fstab文件做修改

2016-08-29_213203.png

3.重新挂载根分区

2016-08-29_213316.png

4.重新修改/etc/fstab文件,修正错误

2016-08-29_213458.png

5.重新系统即可正常启动

2016-08-29_213602.png

如何创建本地loop设备并挂载使用。

1.是用dd命令创建大小为2G的空文件

[root@CentOS6 ~]# dd if=/dev/zero of=/root/spacefile bs=1M count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 4.94237 s, 435 MB/s
[root@CentOS6 ~]#

2.关联此设备

[root@CentOS6 ~]# losetup /dev/loop0 /root/spacefile 
[root@CentOS6 ~]# losetup -a
/dev/loop0: [0802]:131201 (/root/spacefile)
[root@CentOS6 ~]#

3.创建文件系统

[root@CentOS6 ~]# mke2fs -t ext4 /root/spacefile 
mke2fs 1.41.12 (17-May-2010)
/root/spacefile is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912

Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@CentOS6 ~]# blkid /root/spacefile 
/root/spacefile: LABEL="LOOP" UUID="883849f7-7135-4b90-a7f8-420690741b42" TYPE="ext4" 
[root@CentOS6 ~]#

4.挂载并使用

[root@CentOS6 ~]# mkdir /mnt/spacefile
[root@CentOS6 ~]# mount -o loop /root/spacefile /mnt/spacefile/
[root@CentOS6 ~]# mount | tail -1
/root/spacefile on /mnt/spacefile type ext4 (rw,loop=/dev/loop1)
[root@CentOS6 ~]# cd /mnt/spacefile/
[root@CentOS6 spacefile]# ls
lost+found
[root@CentOS6 spacefile]# echo xxxx > aa
[root@CentOS6 spacefile]# cat aa 
xxxx
[root@CentOS6 spacefile]#

2016-08-29_214329.png

swap交换分区:

    在物理内存使用完之后,将磁盘空间虚拟成内存来使用.它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。

    Linux上的交换分区必须是独立的文件系统

        且文件系统类型ID为82

    创建swap设备:mkswap命令

        mkswap [OPTIONS] DEVICE

            -L LABEL:指明卷标

            -f:强制

[root@CentOS7 testing]# mkswap /dev/sdc2
mkswap: /dev/sdc2: warning: wiping old swap signature.
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=f321c704-748b-41b2-9798-51259693533e
[root@CentOS7 testing]# blkid /dev/sdc2
/dev/sdc2: UUID="f321c704-748b-41b2-9798-51259693533e" TYPE="swap" 
[root@CentOS7 testing]#

         swapon DEVICE:启动交换分区

            -a:启用所有定义在/etc/fstab文件中的交换分区

[root@CentOS7 testing]# swapon /dev/sdc2
[root@CentOS7 testing]# free -h
              total        used        free      shared  buff/cache   available
Mem:           977M        329M        415M        7.2M        232M        451M
Swap:          4.0G          0B        4.0G
[root@CentOS7 testing]#

        查看当前系统上已启动的swap分区:swapon -s

[root@CentOS6 ~]# swapon -s
Filename				Type		Size	Used	Priority
/dev/sda5                               partition	2097148	0	-1
/dev/sdc1                               partition	2104476	0	-2
[root@CentOS6 ~]#

        指定swap分区优先级

2016-08-29_214920.png

2016-08-29_215020.png

        swapoff DEVICE:关闭交换分区

            -a:关闭所有的定义在/etc/fstab文件中的交换设备



使用空文件创建swap分区

1.是用dd命令创建1G大小的swapfile文件

[root@CentOS6 ~]# dd if=/dev/zero of=/root/swapfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 2.12568 s, 505 MB/s
[root@CentOS6 ~]#

2.创建swap分区

[root@CentOS6 ~]# mkswap -L SWAPFILE swapfile 
mkswap: swapfile: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 1048572 KiB
LABEL=SWAPFILE, UUID=6265e0fc-ac1d-497b-983a-2770a2e74a32
[root@CentOS6 ~]# blkid swapfile 
swapfile: LABEL="SWAPFILE" UUID="6265e0fc-ac1d-497b-983a-2770a2e74a32" TYPE="swap" 
[root@CentOS6 ~]#

3.开启swap分区

[root@CentOS6 ~]# swapon swapfile 
[root@CentOS6 ~]# swapon -s
Filename				Type		Size	Used	Priority
/dev/sda5                               partition	2097148	0	-1
/dev/sdc1                               partition	2104476	0	100
/root/swapfile                          file		1048572	0	-2
[root@CentOS6 ~]#

2016-08-29_215921.png

   

  

  

常用工具介绍:

free:查看当前系统物理内存以及交换内存的使用情况

    free [OPTIONS]

    -m:以M为单位显示

    -h:做单位换算

    -g:以G为单位显示

[root@CentOS7 testing]# free -mh
              total        used        free      shared  buff/cache   available
Mem:           977M        329M        415M        7.2M        232M        451M
Swap:          4.0G          0B        4.0G
[root@CentOS7 testing]#

df:查看所有文件系统占用空间信息

    -l:显示本地文件系统

    -h:做单位换算

    -T:显示文件系统类型

    -P:以Posix兼容的格式输出

    -i:显示inode使用情况

[root@CentOS7 ~]# df -lhTPi
Filesystem     Type     Inodes IUsed IFree IUse% Mounted on
/dev/sda2      xfs         50M  143K   50M    1% /
devtmpfs       devtmpfs   119K   418  119K    1% /dev
tmpfs          tmpfs      123K     6  123K    1% /dev/shm
tmpfs          tmpfs      123K   598  122K    1% /run
tmpfs          tmpfs      123K    13  123K    1% /sys/fs/cgroup
/dev/sda5      xfs         20M  8.9K   20M    1% /testdir
/dev/sda1      xfs        200K   330  200K    1% /boot
tmpfs          tmpfs      123K    18  123K    1% /run/user/42
/dev/sr0       iso9660       0     0     0     - /media/cdrom
tmpfs          tmpfs      123K     1  123K    1% /run/user/0
/dev/sdb1      ext4        51K    12   51K    1% /mydata
/dev/sdc1      ext4       320K    11  320K    1% /testing
/dev/sdb2      ext3       1.3M    11  1.3M    1% /mogdata
[root@CentOS7 ~]#

du:查看目录总体占用空间情况

    -s:显示目录的总体占用大小

    -h:做单位换算

[root@CentOS7 ~]# du -sh /etc/
30M	/etc/
[root@CentOS7 ~]#

dd命令:convert and copy a file

用法:

    dd if=/PATH/FROM/SRC of=/PATH/TO/DEST

    bs=#:block size,复制单元大小

    count=#:复制多少个bs

of=file    写到所命名的文件而不是标准输出

if=file    从所命名文件读取而不是从标准输入

bs=size    指定块大小

count=#    复制多少个字节

skip=blocks  从开头忽略blocks个ibs大小的块

seek=blocks  从开头忽略blocks个obs大小的块

[root@CentOS6 ~]# dd if=/dev/zero of=test bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 1.98053 s, 542 MB/s
[root@CentOS6 ~]#

 

 

 

配置磁盘配额

1.启用配额挂载选项

MMT$I`CMH8PO@$JDOQD~D}P.png

2.创建磁盘配额数据库,在创建之前 先禁用selinux

[root@CentOS7 ~]# getenforce 
Enforcing
[root@CentOS7 ~]# setenforce 0
[root@CentOS7 ~]# getenforce 
Permissive
[root@CentOS7 ~]# quotacheck -cug /home

3.启用数据库

[root@CentOS7 ~]# quotaon -p /home
group quota on /home (/dev/sda6) is off
user quota on /home (/dev/sda6) is off
[root@CentOS7 ~]# quotaon /home
[root@CentOS7 ~]# quotaon -p /home
group quota on /home (/dev/sda6) is on
user quota on /home (/dev/sda6) is on
[root@CentOS7 ~]#

4.配置配额项

[root@CentOS7 ~]# edquota zhai

XEDX$Q2M2H7SL$6OU}`AKGB.png

[root@CentOS7 ~]# setquota tom 100M 150M 0 0 /home        #使用setquota也可配置
[root@CentOS7 ~]# edquota -p zhai jerry        #将zhai用户的配额复制给用户jerry
[root@CentOS7 ~]# repquota /home
*** Report for user quotas on device /dev/sda6
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      20       0       0              2     0     0       
zhai      --      28   51200   81920              7     0     0       
tom       --      28  102400  153600              7     0     0       
jerry     --      28   51200   81920              7     0     0       


[root@CentOS7 ~]#

5.测试配额

[zhai@CentOS6 ~]$ dd if=/dev/zero of=test bs=1M count=40        #可正常填充40M数据
40+0 records in
40+0 records out
41943040 bytes (42 MB) copied, 0.103855 s, 404 MB/s
[zhai@CentOS6 ~]$ dd if=/dev/zero of=test bs=1M count=50        #当达到50M时则发出警告
sdb1: warning, user block quota exceeded.
50+0 records in
50+0 records out
52428800 bytes (52 MB) copied, 0.106969 s, 490 MB/s
[zhai@CentOS6 ~]$ dd if=/dev/zero of=test bs=1M count=90        #超过80M时报错
sdb1: warning, user block quota exceeded.
sdb1: write failed, user block limit reached.
dd: writing `test': Disk quota exceeded
80+0 records in
79+0 records out
83865600 bytes (84 MB) copied, 0.169611 s, 494 MB/s
[zhai@CentOS6 ~]$ du -sh .
80M	.
[zhai@CentOS6 ~]$ quota zhai
Disk quotas for user zhai (uid 500): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sdb1   81920*  51200   81920   6days      10       0       0        
[zhai@CentOS6 ~]$

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

(0)
zhai796898zhai796898
上一篇 2016-08-30
下一篇 2016-08-30

相关推荐

  • shell脚本参数练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登陆shell(即用户的shell不是/sbin/nologin),分别这两类用户的个数;通过字符串比较来实现; !/bin/bash # login_user=0 nologin_user=0 for i in $(cat /etc/passwd | cut -d : -f 7);do if [ $…

    2017-09-17
  • 网络基础

    1、OSI模型七层结构 应用层   为应用程序进程提供网络服务   提供用户身份验证   表示层     确保接收系统可以读出该数据     格式化数据     构建数据 &nbs…

    Linux干货 2016-09-06
  • 马哥教育网络班22期第3周课程作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@MyCloudServer ~]# who | cut -d " " -f1 |sort -u root 2、取出最后登录到当前系统的用…

    Linux干货 2016-09-19
  • N22—第五周作业

    1、显示当前系统上root、fedora或user1用户的默认shell; [root@localhost ~]# grep -E "^(root|fedora|user1)"  /etc/passwd |cut -d : -f 1,7 root:/bin/bash fedora:/bin/bash user1:/bin/bas…

    Linux干货 2016-09-11
  • 设计模式 ( 十二 ) 职责链模式(Chain of Responsibility)(对象行为

    1.概述        你去政府部门求人办事过吗?有时候你会遇到过官员踢球推责,你的问题在我这里能解决就解决,不能解决就推卸给另外个一个部门(对象)。至于到底谁来解决这个问题呢?政府部门就是为了可以避免屁民的请求与官员之间耦合在一起,让多个(部门)对象都有可能接收请求,将这些(部门)对象连接成一条链,并且沿着这条链传递…

    Linux干货 2015-07-15
  • awk用法二

      3、awk的printf命令     格式:printf format, item1 item2…     要点:      (1) 要指定format;      (2) 输出时不会自动换行,如需换行则…

    Linux干货 2015-12-24