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