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

挂载配置文件

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

    使用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)
上一篇 2016-08-30 10:32
下一篇 2016-08-30 13:53

相关推荐

  • 马哥教育网络班20期+第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@llww3317 ~]# cp -r /etc/skel /home [root@llww3317 ~]# mv /home/ske…

    Linux干货 2016-07-05
  • Linux发展及简单命令

    一 计算机的组成及其功能 冯·诺依曼提出的计算机体系结构:计算机由控制器、运算器、存储器、输入设备、输出设备五部分组成。 二 Linux的发行版 Linux发行版主要有三个分支:Debian、Slackware、Redhat。 (1)Debian:(以社区的方式运作) Ubuntu:基于Debian开发的开源Linux操作系统,主要针对桌面和服务器; Lin…

    2018-03-02
  • Linux的发展史

    Linux的诞生 1987年荷兰阿姆斯特丹Vrije大学的Andrew S.Tanenbaum 教授为了让学生们更了解操作系统而参照Unix系统编写了Minix系统。在1988年芬兰赫尔辛基大学迎来了一位新生Linus Benedict Torvalds ,他在学习了Minix系统后,以此为平台和指导开发出了Linux。在1991年8月Linus Toval…

    Linux干货 2016-10-19
  • vim、crontab、bash for循环练习

    1、复制/etc/rc.d/init.d/functions文件至/tmp目录,将/tmp/functions文件中的以至少一个空白字符开头的行的行首加#。 vim中支持全文查找替换功能且在查找时支持正则表达式,在替换时进行引用。先使用vim /tmp/functions,然后在vim编辑模式中输入:%s/\(^[[:space:]]\+\)/#\1/g再回…

    系统运维 2016-12-03
  • for、while、until循环

    一、for循环          for 变量名 in 列表;do             循环体     &nbsp…

    Linux干货 2016-09-19
  • 文件权限

    首先简单介绍一下文件的属性: 使用ls -l 长列出-rw-r–r–. 1 root root 1302 Jul 25 10:23 group文件类型|owner权限group权限other权限|硬链接数|owner|group|文件大小(bytes)|mtime|文件名 文件类型:     &…

    2017-07-29