您的位置:首页 > 运维架构 > Linux

三周第五次课(2月9日)

2018-02-09 18:05 211 查看
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 / xfs defaults 0 0

左到右 五列
设备设备号 UUID(blkid查看)
挂载点
分区格式
挂载选项
是否备份 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

[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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 学习 标签