磁盘格式化
查看系统支持的文件系统格式
#cat /etc/filesystems
查看系统支持的文件系统格式,第一个就是xfs,ext2是系统默认的格式;
只有格式化才能挂载文件系统,磁盘要想能被访问必须挂载在一个挂载点下面,挂载点其实就是一个目录;
查看一个分区的文件系统是什么格式
#mount
打印内容很多,只需要关注/dev/开头的内容,可以看到/dev/sda3 是xfs格式,/dev/sda1也是xfs格式。/和/boot也都是xfs格式;
[root@colinLinux_01 ~]# fdisk -l
可以看到系统在磁盘/dev/sdb中有一个约3GB的主分区;
mke2fs
功 能:用来创建磁盘给分区格式化某种格式的文件系统如xfs、ext3、ext4等等
语 法:mk2fs [-t<文件系统类型>] [-b<块大小>] [-m<预留空间百分比>] [-i<一个inode对应的字节数>]
补 充: 不指定类型的时候默认是ext2
参 数:
-t:用来指定什么类型的文件系统,可以是ext2, ext3 也可以是 ext4
-b:分区时设定每个数据区块占用空间大小,目前只支持1024B, 2048B 以及4096Bytes每个块(文件不足一个快大小的也同样会占满一个块,其他文件没法再使用这个块)
-m:指定分区预留空间大小。
-i: 设定inode的大小,默认是4个块对应一个inode。
mkfs.estX
mkfs.ext4等于mke2fs -t ext4,mkfs.ext3等于mke2fs -t ext3,mkfs.ext2等于mke2fs -t ext2
mkfs.extX支持的选项和mke2fs是一样的,-b -m
但是mkfs.xfs和mke2fs -t xfs是完全不一样的
# mke2fs -t ext4 /dev/sdb1
# mkfs.ext4 /dev/sdb1
通过两条命令都可以对磁盘分区进行格式话,磁盘分区可以多次格式化,即使刚刚格式化过,只不过每次格式化文件都会被删除;
格式化成xfs类型文件系统
[root@colinLinux_01 ~]# mke2fs -t xfs /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
Your mke2fs.conf file does not define the xfs filesystem type.
Aborting...
说明:# mke2fs -t xfs /dev/sdb1提示mk2fs.conf文件中未定义xfs文件系统类型,这里是因为mke2fs暂时还不支持xfs格式,但是其他格式都可以。
[root@colinLinux_01 ~]# mkfs.xfs /dev/sdb1
mkfs.xfs: /dev/sdb1 appears to contain an existing filesystem (ext4).
mkfs.xfs: Use the -f option to force overwrite.
说明:因为刚刚把/dev/sdb1格式化成了ext4类型文件系统,所以这再格式化成其他类型会提醒,并且需要加-f强制格式化;
[root@colinLinux_01 ~]# mkfs.xfs -f /dev/sdb1
#blkid 路径
查看磁盘分区的文件系统类型
mount只能看挂载后的磁盘情况;
#blkid /dev/sdb1
#mke2fs -b 块大小 磁盘分区
当文件是比较大的文件类型,比如视频音频等流媒体文件的时候,划分成比较大的块比划分成小块读取更快,
当文件是比较小的文件类型时候,划分成相对较小的块读取更快。
默认是4KB;
#mke2fs -m 预留百分比值 磁盘路径
格式话的时候会看到,系统默认有5%的空间预留给了super user,但是当磁盘很大的时候比如1T,那5%就占用的太多的空间。
39321 blocks (5.00%) reserved for the super user
#mke2fs -m 1 /dev/sdb1命令设置预留空间大小为1%
#mke2fs -m 0.1 /dev/sdb1命令设置预留空间大小为0.1%
inode
创建了文件系统后会发现,inde和block基本是4个block对应一个inode,4*inode=block,这个值可以更改通过-i选项。
这里把inode对应字节的大小设置为8192也就是2个块大小,再看inode变成了刚刚的两倍约,大约是2*inode=block
磁盘挂载
一个磁盘可以不分区就进行格式化,例如现在磁盘/dev/sdb没有分区。
# mkfs.xfs /dev/sdb
直接对没有分区的磁盘进行格式化;
# blkid /dev/sdb
查看分区文件系统类型,说明已经格式话了。
mount/umount
mount 挂载文件系统
功 能:用于挂载文件系统到指定的挂载点
语 法:mount [文件系统(就是盘符或者磁盘分区)] [挂载点]
补 充:
参 数:
-o:rw,可读写;
ro,只读;
remount ,重新挂载;
suid,设置suid权限;
exec,是否可执行,改为noexec那分区下的文件就不可执行了。
nouser,不允许普通用户挂载,
user,允许普通用户挂载;
async,不时时同步(默认)
sync,时时把内存中的内容同步到磁盘中去,正常情况下会等一会才同步到磁盘中去,如果随时同步的话会增大磁盘压力;
例如:mount -o rw,remount /dev/sdb
# mount /dev/sdb /mnt 把/dev/sdb挂载到/mnt目录下。
# df -h 查看磁盘挂载情况
在mnt中创建一些文件
umount 挂载文件系统
功 能:用于卸载文件系统从指定的挂载点
语 法:umount [文件系统(就是盘符或者磁盘分区)]
umount [挂载点] (卸载挂载点,也就卸载了挂载点上的多个文件系统)
补 充:
参 数:
-l:lazy,在不退出目录情况下卸载;
# umount /dev/sdb 提示/mnt目标忙,因为我们现在处在的目录是mnt,所以提示目标忙;
退出目录后再卸载就可以了,查看挂载情况发现没有了/dev/sdb
通过卸载挂载点卸载文件系统
-l可以在不退出挂载点目录当前情况下卸载挂载点;
/etc/fstab
配置系统启动后去挂载哪个磁盘哪个分区,都是根据这个配置文件来进行的。
第一列是UUID,也可以用文件系统名称;
第二列是挂载点;
第三列是文件系统类型;
第四列是挂载选项,默认是defaults;
第五列是是否备份,默认0,不备份,1备份;目前基本没用,通常设置成0;
第六列是优先级,是否检测,在重新启动的时候是否检测文件系统是否有问题,1,2检测,0,不检测;1级别更高;如果想要检测,那/跟分区需要设置成1,其他的才能设置成2;
查看UUID
一个文件系统,对应着一个UUID,挂载的时候可以挂载文件系统名称,也可以挂载UUID;
手动增加swap空间
不同于安装系统的时候划分的swap空间,这里是在安装好系统后如果swap不够用,再额外增加;
# dd
# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
if 指定源(/dev/zero是UNIX系统中的一个造0器,会源源不断的输出“0”,)
of 指定目标文件(这里是写入到/tmp/newdisk中)
bs 指定块的大小(这里设置成了1M,也可以设置成其他值,比如4K)
count 定义块的数量(这里设置成100,那newdisk的大小也就是100*1M=100M)
这样就创建好了虚拟磁盘,还需要创建格式化文件系统;
# mkswap /tmp/newdisk
# mkswap /tmp/newdisk 格式化/tmp/newdisk
# free -mh
显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
-m,以M为单位显示;
-h,humanreadable
可以看到当前swap情况,一共3812M,free 3813M,
# swapon /tmp/newdisk
用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存
提示权限不安全,但是查看内存情况的时候看到已经挂载上去了。
安全起见,把权限改为所有者管理员可读写;
# swapoff /tmp/newdisk
用于关闭指定的交换空间(包括交换文件和交换分区)。swapoff实际上为swapon的符号连接,可用来关闭系统的交换区。