Linux学习总结(八)-磁盘格式化,挂载,swap扩容
一 磁盘格式化
格式化命令:
mke2fs -t [ext2 ext3 ext4] 或者
mkfs.[ext2 ext3 ext4 xfs]
-b 分区时指定每个数据块占用的空间大小,目前支持1024,
2048 ,4096 bytes每个块, 也就是1K,2K,4K
-i 设定inode的大小
-N 设定inode 数量
-L 预设该分区标签
-t 指定文件系统类型, ext2,ext3,ext4,
mke2fs 不支持xfs 可以用mkfs.xfs
我们用mke2fs 指定文件系统类型为ext4,指定分区标签为TEST ,格式化一个分区,命令为:
mke2fs -t ext4 -L TEST /dev/sdb5
现在我们可以用e2label 查看到分区标签和修改分区标签, 执行
e2label /dev/sdb5
e2label /dev/sdb5 TEST1
e2label /dev/sdb5
如果要看到格式化后的文件系统类型,我们要用到mount 命令先将分区挂载上,比如我把sb5
挂到/tmp 下,
mount /dev/sdb5 /tmp
然后用 df -T 查看,为了直观我把它直接过滤出来
二 mount umount 命令
mount 不带任何参数,显示已挂载信息,可以看到当前系统已经挂载的所有分区,以及分区文件系统的类型,挂载点
首先卸载掉刚才的 sdb5 分区 , umount /dev/sdb5 或者umount /tmp/
然后用分区标签挂载,看下结果
mount LABLEL=/TEST1 /tmp
df -h |grep 'sdb'
我们看到也挂载上了
在 /etc/fstab 文件中定义了磁盘的各种挂载信息,比如我可以只读的方式挂载一个分区,我可以讲分区信息直接写到该表中,用mount -a 命令实现自动挂载
编辑该文件,增加一行
LABEL=TEST1 /tmp ext4 defaults 0 0
先umont /tmp
卸载掉,再执行mount -a
再查看 ,结果如下
-o 指定挂载特性, 比如只读方式 ro
mount -o ro /dev/sdb5 /tmp/
然后恢复读写
mount -o remount /dev/sdb5 /tmp/
如果有两块磁盘我们把它弄混了,根据分区号无法分怎么办,我们可以跟据uuid 区分磁盘分区并完成挂载,用命令blkid 查看即可
用uuid 挂载办法,
mount UUID="2b2fd647-2c11-4e19-9ab3-11c8fbd0d462" /tmp
如果想让某个分区开机后就自动挂载,有两个办法可以实现:
在 /etc/fstab 中添加一行,如上例中那行;
把挂载命令写到 /etc/rc.d/rc.local 文件中去
echo 'mount UUID="2b2fd647-2c11-4e19-9ab3-11c8fbd0d462" /tmp' >>/etc/rc.d/rc.local
命令umont
上面已经讲到 有两种方式, 1根据设备卸载, 2,根据挂载点卸载
如果遇到在 挂载点目录下卸载会提示设备忙无法卸载 ,此时可以加-l 参数强制卸载
三 建立一个swap文件增加虚拟内存
交换分区充当虚拟内存的角色,由于硬盘的读写速度无法跟内存相比,因此我们装系统时划分的交换分区不会很大,以免浪费硬盘资源,但是对于后续遇到一些特殊应用,我们有需要稍大一些的交换分区,那么我们总不会每次都重装系统,显得太机械,低效。其实我们有给他扩容的办法。
基本的思路就是:建立swapfile -> 格式化为swap格式 -> 启用该虚拟磁盘
1 首先我们用dd 命令建立虚拟swap ,大小为400M
dd if=/dev/zero of=/tmp/newdisk bs=4k count=102400
然后格式化成swap格式:
mkswap -f /tmp/newdisk
然后挂载上就可以用了
swapon /tmp/newdisk
提示不安全,可以修改下权限