4.5/4.6 磁盘格式化
4.7/4.8 磁盘挂载
4.9 手动增加swap空间 


4.5 磁盘格式化(上)


centos7所支持的文件系统:

# cat /etc/filesystems 
xfscentos7默认安装的系统(/ /boot )
ext4centos6
ext3centos5
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*


建立1号主分区,容量3G

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728   83  Linux

格式化

格式化命令#mke2fs #mkfs

#mke2fs -t

文件格式指定文件系统(xf2,ext3,ext4..)

#mke2fs -b

块大小 每块容量是1024的倍数,默认块大小是4096。(如果文件如果是空的、无内容,不会占用一个块的容量。如果文件是)


#mk2fs.ext4===mke2fs -t ext4 两个命令是一样的效果,不过mk2fs不支持xfs文件系统格式化。


格式化 /dev/sdb1 xfs格式

# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=196608 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=786432, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
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

想看一个还没挂载的分区 应该使用#blkid查看

# blkid /dev/sdb1
/dev/sdb1: UUID="f069e6df-95db-4f34-a350-ea089e1af5f1" TYPE="xfs"



4.6 磁盘格式化(下)


指定块容量为8192

#mke2fs -b 8192 /dev/sdb1

(什么情况下使用8kb的块,比如磁盘需要存储比较大的文件:视频、音乐、高清图片,这样读写就会更快。如果小文件,不到4KB的文件,就可以把块文件适当设置小点,)

一般默认2kb即可

#mke2fs -b 2048 /dev/sdb1 
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=2048 (log=1)
分块大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 1572864 blocks
78643 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=538968064
96 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104
Allocating group tables: 完成                            
正在写入inode表: 完成                            
Writing superblocks and filesystem accounting information: 完成 
78643 blocks (5.00%) reserved for the super user
此段意思是:有5%的容量空间是预留给root用户的,如果觉得比例有点大,可以适当调整。
#mke2fs -m 0.1(此单位是百分比,可以根据情况自定义) 
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786432 blocks
786 blocks (0.10%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=805306368
24 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成                            
正在写入inode表: 完成                            
Writing superblocks and filesystem accounting information: 完成


如果无指定文件系统,默认是ext2,一般不会使用ext2,因为太老了。

# blkid /dev/sdb1
/dev/sdb1: UUID="9bd65645-054c-49d9-9eff-468ce06512df" TYPE="ext2"


指定ext4格式(# mke2fs -t ext4 -m 0.1 /dev/sdb1 与#mkfs.ext4 -m 0.1 /dev/sdb2 效果一样,mke2fs -t ext4 与mkfs.ext4支持的选项是一致的)

# mke2fs -t ext4 -m 0.1 /dev/sdb1 
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786432 blocks
786 blocks (0.10%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=805306368
24 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
196608 inodes, 786432 blocks 
此处的关系是1:4,4个块对应1个inode。
如果修改为2个块对应一个inode ,如下操作:
#mke2fs -i 8192 -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
393216 inodes, 786432 blocks
39321 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=805306368
24 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成


修改完后,可以看到393216 inodes, 786432 blocks,它们之间的关系是1:2,修改成功。


总结:

mke2fs -b(块大小)  -m(预留空间)  -i(修改inode与块的对比关系)

强调

#mke2fs -t ext4 /dev/sdb1
#mkfs.ext4 /dev/sdb1

两者效果是一样的



4.7 磁盘挂载(上)


磁盘 不分区 直接格式化发生的情况,以及具体操作 如下:

先del之前配好的分区

#fdisk /dev/sdb
  设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728   83  Linux
命令(输入 m 获取帮助):d
已选择分区 1
分区 1 已删除
设备 Boot      Start         End      Blocks   Id  System
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
不分区,直接格式化xfs格式
#mkfs.xfs /dev/sdb
# mkfs.xfs /dev/sdb
mkfs.xfs: /dev/sdb appears to contain a partition table (dos).
mkfs.xfs: Use the -f option to force overwrite.
安全提示,有风险,按-f强制执行,
# mkfs.xfs -f /dev/sdb
meta-data=/dev/sdb               isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
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
再#blkid /dev/sdb 查看文件系统,确认是xfs,格式化完成
# blkid /dev/sdb
/dev/sdb: UUID="3a209d80-d5b2-4488-8263-7bc81822a574" TYPE="xfs"

以上证明,不管有没有分区,都可以进行格式化操作。


挂载

#mount

设备 挂载点

#mount /dev/sdb /mnt

此处是:把/dev/sdb挂载在/mnt

#df -h 查看挂载点
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G 1001M   27G    4% /
devtmpfs        483M     0  483M    0% /dev
tmpfs           493M     0  493M    0% /dev/shm
tmpfs           493M  6.8M  486M    2% /run
tmpfs           493M     0  493M    0% /sys/fs/cgroup
/dev/sda1       187M   97M   91M   52% /boot
tmpfs            99M     0   99M    0% /run/user/0
/dev/sdb         10G   33M   10G    1% /mnt


挂载点说法:磁盘的入口,没有挂载点,没办法再此磁盘写东西。

#mount

 可以看到/dev/sdb 的文件系统

/dev/sdb on /mnt type xfs (rw,relatime,seclabel,attr2,inode64,noquota)


卸载挂载

#umonut /dev/sdb
test
#cd /mnt
#touch 1.txt 2.txt 
#mkdir 234
#ls 
1.txt  234  2.txt
#umount /dev/sdb
umount: /mnt:目标忙。
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)


因为挂载点被cd进去了,所以挂载失败,解决方法是 进去其他除/mnt(sdb挂载点)即可,操作如下:

[root@centos7 mnt]# cd ~
[root@centos7 ~]# umount /dev/sdb 
[root@centos7 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G 1001M   27G    4% /
devtmpfs        483M     0  483M    0% /dev
tmpfs           493M     0  493M    0% /dev/shm
tmpfs           493M  6.8M  486M    2% /run
tmpfs           493M     0  493M    0% /sys/fs/cgroup
/dev/sda1       187M   97M   91M   52% /boot
tmpfs            99M     0   99M    0% /run/user/0


如果想进行强制卸载,可以使用#umount -l /mnt (l代表lazy,懒的意思,此处可以当做省去切换目录操作)



4.8 磁盘挂载(下)


mount 常用选项 

#man mount

搜索到 defaults

              Use default options: rw, suid, dev, exec, auto, nouser, and async.

defaults 是默认的,不加任何选项 一般就是defaults


  • -o  option 

  • ro 只读

  • rw 可读可写

  • suid 允许分区文件设置suid权限

  • dev 分区关系

  • exec 是否可执行,如果noexce,这个分区下面的文件则没有执行权利。

  • auto 自动挂载

  • nouser  普通用户挂载不到,默认

  • async对应sync,sync,文件和内容随时写入内存,会使硬盘压力越来越大。async则相反,默认是async,async是过一会再同步,让其有缓冲。

  • remount 重新挂载


*关键文件 /vi/etc/fstab

系统启动,默认挂载了哪些磁盘,哪些分区,都是在此文件下进行配置

# /etc/fstab
# Created by anaconda on Sat Jan 20 01:12:40 2018
#
# 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=ee52814c-cbd8-496e-8c0c-3dfb524bd752 /                       xfs     defaults        0 0
UUID=723e348f-61a5-4fb4-920c-e0a0670da7b2 /boot                   xfs     defaults        0 0
UUID=1d26d6c7-0e21-4c11-b655-73b1cf2863e1 swap                    swap    defaults        0 0
/dev/sdb                                /mnt                       xfs     defaults        0 0

左到右 五列

设备的设备号 可用设备名称(/dev/sdb)和UUID表示(blkid查看)

挂载点

分区格式

挂载选项,默认是defaults,最好不要随便修改它。

是否备份 1备份 0不备份 早期需要备份,现在一般不备份

优先级 1,2 检测,0不检测(一般常用0)是否检测硬盘有没有故障 问题。


这种方法也可以同样挂载UUID

[root@centos7 ~]# blkid 
/dev/sda1: UUID="723e348f-61a5-4fb4-920c-e0a0670da7b2" TYPE="xfs" 
/dev/sda2: UUID="1d26d6c7-0e21-4c11-b655-73b1cf2863e1" TYPE="swap" 
/dev/sda3: UUID="ee52814c-cbd8-496e-8c0c-3dfb524bd752" TYPE="xfs" 
/dev/sdb: UUID="3a209d80-d5b2-4488-8263-7bc81822a574" TYPE="xfs" 
[root@centos7 ~]# umount /mnt
umount: /mnt:未挂载
[root@centos7 ~]# mount UUID="3a209d80-d5b2-4488-8263-7bc81822a574" /mnt
[root@centos7 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G 1001M   27G    4% /
devtmpfs        483M     0  483M    0% /dev
tmpfs           493M     0  493M    0% /dev/shm
tmpfs           493M  6.8M  486M    2% /run
tmpfs           493M     0  493M    0% /sys/fs/cgroup
/dev/sda1       187M   97M   91M   52% /boot
tmpfs            99M     0   99M    0% /run/user/0
/dev/sdb         10G   33M   10G    1% /mnt



4.9 手动增加swap空间


某些服务需要很大的swap空间,所以需要做swap增大

创建模拟磁盘,100M小分区

dd if=/dev/zero of=/tmp/newdisk bs=1M count=100

(dd命令操作磁盘,if指定源from路径。/dev/zero 导零器。可以产生源源不断的0。of目标to路径。bs指定块的大小。count=100M,count等于b*4=1M x 100s )

[root@centos7 ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,0.459588 秒,228 MB/秒
[root@centos7 ~]# du -sh /tmp/newdisk
100M/tmp/newdisk

创建虚拟磁盘完成后,还需要格式化

因为swap是一种特殊文件系统,所以要用到#mkswap命令去格式化

#mkswap -f /tmp/newdisk
#free -m  查看swap 容量
              total        used        free      shared  buff/cache   available
Mem:            984         117         622           6         244         695
Swap:          2047           0        2047

利用swapon加载到/tmp/newdisk上去

[root@centos7 ~]#  swapon /tmp/newdisk             
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。
[root@centos7 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            984         116         622           6         244         696
Swap:          2147           0        2147
[root@centos7 ~]# chmod 0600 /tmp/newdisk 
[root@centos7 ~]# swapoff /tmp/newdisk 
[root@centos7 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            984         116         622           6         244         696
Swap:          2047           0        2047
[root@centos7 ~]# rm -f /tmp/newdisk