磁盘格式化
- /etc/filesystems 查看系统支持哪些文件系统格式
[root@linux-128 ~]# cat /etc/filesystemsxfs //centos7默认文件系统ext4 //centos6ext3 //centos5ext2nodev procnodev devptsiso9660vfathfshfsplus*
怎么查看一个分区的系统文件格式:
[root@linux-128 ~]# mountsysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)devtmpfs on /dev type devtmpfs (rw,nosuid,size=928056k,nr_inodes=232014,mode=755)securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)configfs on /sys/kernel/config type configfs (rw,relatime)**/dev/sda3 on / type _xfs_ (rw,relatime,attr2,inode64,noquota)**systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)debugfs on /sys/kernel/debug type debugfs (rw,relatime)mqueue on /dev/mqueue type mqueue (rw,relatime)hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)**/dev/sda1 on /boot type_ xfs_ (rw,relatime,attr2,inode64,noquota)**tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=187576k,mode=700)
mke2fs命令
- 设置文件系统格式;常见的选项:
- -t 系统文件类型
- -b 块大小,每个数据块占用的空间大小,每个数据库支持1024B,2048B以及4096B。
- -m 预留大小 1就是1%
- -L 标示分区标签 label
- -i 设定inode的大小,多少个块对应1个inode,默认4个块,16k
- -N 设定inode的数量
[root@linux-128 ~]# mke2fs -t ext4 /dev/sdb1mke2fs 1.42.9 (28-Dec-2013)文件系统标签=OS type: Linux块大小=4096 (log=2)分块大小=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks196608 inodes, 786432 blocks //1:439321 blocks (5.00%) reserved for the super user第一个数据块=0Maximum filesystem blocks=80530636824 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912Allocating group tables: 完成正在写入inode表: 完成Creating journal (16384 blocks): 完成Writing superblocks and filesystem accounting information: 完成
[root@linux-128 ~]# blkid /dev/sdb1/dev/sdb1: UUID="497c380a-737f-4a43-8370-c78a15b24f15" TYPE="ext4"
- mke2fs -t ext4 /dev/sdb1====mkfs.ext4 /dev/sdb1 结果相同
- mke2fs 不支持把分区格式化成xfs类型,只能使用mkfs.xfs
[root@linux-128 ~]# mkfs.xfs /dev/sdb1mkfs.xfs: /dev/sdb1 appears to contain an existing filesystem (ext4).mkfs.xfs: Use the -f option to force overwrite.
mkfs.xfs /dev/sdb1 设置系统类型为xfs时,会报错,必须加上-f 选项;
[root@linux-128 ~]# mkfs.xfs -f /dev/sdb1meta-data=/dev/sdb1 isize=512 agcount=4, agsize=196608 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0data = bsize=4096 blocks=786432, imaxpct=25 = sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0[root@linux-128 ~]# blkid /dev/sdb1/dev/sdb1: UUID="9a805ee5-5f7e-4c1e-a8d3-11806434631a" TYPE="xfs"
- -i 设置inode,设置成2个块对应1个inode,inode变多
[root@linux-128 ~]# mke2fs -i 8192 -t ext4 /dev/sdb1mke2fs 1.42.9 (28-Dec-2013)文件系统标签=OS type: Linux块大小=4096 (log=2)分块大小=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks393216 inodes, 786432 blocks39321 blocks (5.00%) reserved for the super user第一个数据块=0Maximum filesystem blocks=80530636824 block groups32768 blocks per group, 32768 fragments per group16384 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912Allocating group tables: 完成正在写入inode表: 完成Creating journal (16384 blocks): 完成Writing superblocks and filesystem accounting information: 完成
- mke2fs -b 设置块大小,什么情况块设置大呢,一般用在大文件视频之类的,小文件块最好设置小一点。
[root@linux-128 ~]# mke2fs -b 8192 -t ext4 /dev/sdb1Warning: blocksize 8192 not usable on most systems.mke2fs 1.42.9 (28-Dec-2013)mke2fs: 8192-byte blocks too big for system (max 4096)无论如何也要继续? (y,n) yWarning: 8192-byte blocks too big for system (max 4096), forced to continuewarning: 48 blocks unused.文件系统标签=OS type: Linux块大小=8192 (log=3)分块大小=8192 (log=3)Stride=0 blocks, Stripe width=0 blocks196608 inodes, 393168 blocks19657 blocks (5.00%) reserved for the super user第一个数据块=0Maximum filesystem blocks=4026040326 block groups65528 blocks per group, 65528 fragments per group32768 inodes per groupSuperblock backups stored on blocks: 65528, 196584, 327640Allocating group tables: 完成正在写入inode表: 完成Creating journal (8192 blocks): 完成Writing superblocks and filesystem accounting information: 完成
- mke2fs -m 指定分区预留的空间,mkfs.xfs 不支持 -m选项。
[root@linux-128 ~]# mke2fs -m 0.1 -t ext4 /dev/sdb1mke2fs 1.42.9 (28-Dec-2013)文件系统标签=OS type: Linux块大小=4096 (log=2)分块大小=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks196608 inodes, 786432 blocks786 blocks (0.10%) reserved for the super user第一个数据块=0Maximum filesystem blocks=80530636824 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912Allocating group tables: 完成正在写入inode表: 完成Creating journal (16384 blocks): 完成Writing superblocks and filesystem accounting information: 完成
- 注意:扩展分区是不能够格式化的,他是一个壳,里面的逻辑分区才能格式化
- 我们可以不分区直接格式化。
- mkfs.xfs -f /dev/sdb
磁盘挂载
-
磁盘分区和格式化后,我们要做的是挂载,只有挂载后才能将数据写进磁盘中,在挂在分区前,需要建立一个挂在点,这个挂载点是以目录的形式出现,一旦把某个分区挂载到这个目录下,在往这个目录下写数据时,就都会写到该分区中,所以在挂载该分区前,挂载点下必须是空目录。其实目录不为空并不影响所挂载分区的使用,但一旦挂载上,该目录下以前的数据就看不到了(数据并非丢失),卸载该分区后,数据恢复。
-
一个挂载点只能给一个分区进行服务,假设有两个分区放在一个挂载点下,只能服务第二个分区,第二个会覆盖第一个,但是卸载掉第二个,第一个分区的数据就会出现
mount命令
mount命令可以查看当前系统已经挂载的所以分区,分区文件系统的类型,挂载点及一些选项信息。
挂载
- mount [分区] [挂载点]
[root@linux-128 ~]# mount /dev/sdb1 /mnt [root@linux-128 ~]# df -h文件系统 容量 已用 可用 已用% 挂载点/dev/sda3 16G 1.1G 15G 7% /devtmpfs 907M 0 907M 0% /devtmpfs 916M 0 916M 0% /dev/shmtmpfs 916M 8.6M 908M 1% /runtmpfs 916M 0 916M 0% /sys/fs/cgroup/dev/sda1 197M 109M 88M 56% /boottmpfs 184M 0 184M 0% /run/user/0/dev/sdb1 2.9G 9.0M 2.9G 1% /mnt
- umount 卸载
[root@linux-128 ~]# mount /dev/sdb1 /mnt[root@linux-128 ~]# cd /mnt[root@linux-128 mnt]# umount /dev/sdb1umount: /mnt:目标忙。 (有些情况下通过 lsof(8) 或 fuser(1) 可以 找到有关使用该设备的进程的有用信息)
这个时候我们要退出这个目录,在卸载
[root@linux-128 mnt]# cd[root@linux-128 ~]# umount /dev/sdb1
或者使用-l 选项
[root@linux-128 ~]# mount /dev/sdb1 /mnt[root@linux-128 ~]# cd /mnt[root@linux-128 mnt]# umount -l /dev/sdb1
开机自动挂载
第一种方法:vim /etc/fstab 直接将相关的挂载信息直接写入文件中 mount -a 会自动加载配置文件所有的配置 mount -o noatime,rw /dev/sdb1 /mnt 利用-o指定一些选项,如果不指定就为defaults mount 可以查看加载了哪些相关选项
# /etc/fstab# Created by anaconda on Tue Jul 26 20:11:16 2016## 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#第一段 第二段 第三段 第四段 第5段 第六段#设备分区名或UUID 挂载点 系统文件类型 挂在选项 是否数据备份 开机是否检测磁盘#defaults=rw,suid,dev,exec,auto,nouser,asycUUID=72cb5a39-c73a-466d-9207-5ef7ece5fd0d / ext4 defaults 1 1UUID=51abe72d-14e4-4ab6-86df-fe446bb58487 /boot ext4 defaults 1 2UUID=ed7b2cfc-cfa3-4993-b8a6-b04eb14f74f6 swap swap defaults 0 0tmpfs /dev/shm tmpfs defaults 0 0devpts /dev/pts devpts gid=5,mode=620 0 0sysfs /sys sysfs defaults 0 0proc /proc proc defaults 0 0
写入配置文件/etc/fstab后要mount -a
-a 会将/etc/fstab里面的所有分区挂在上第二种方法:vim /etc/rc.local 其他启动会加载哪些设置
可以将mount /dev/sdb5 /mnt/ 命令直接写入/etc/rc.local文件,重启系统时文件会自动执行命令挂载了 。blkid 获取分区的uuid和table
手动增加swap空间
如果需要虚拟内存不够的情况,就必须增加一个虚拟磁盘,增加虚拟磁盘的基本思路: 建立swapfile-> 格式化为swap格式->启用该虚拟磁盘
- 建立swapfile
[root@linux-128 mnt]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100记录了100+0 的读入记录了100+0 的写出104857600字节(105 MB)已复制,1.29292 秒,81.1 MB/秒
dd命令:操作磁盘;if指定源(一般是写/dev/zero,它是UNIX系统特有的一个文件,它可以源源不断的提供“0”)of指定目标文件,bs定义块大小,count定义块的数量,bs和count这个两个参数决定了目标文件大小,目标文件大小=bs*count。
- 格式化
[root@linux-128 mnt]# mkswap -f /tmp/newdisk正在设置交换空间版本 1,大小 = 102396 KiB无标签,UUID=3c1465ff-5837-4ecf-948d-7d5719b382c4
文件格式化后,就可以挂载使用
- free -m 查看内存使用情况
[root@linux-128 mnt]# free -m total used free shared buff/cache availableMem: 1831 113 1459 8 259 1545Swap: 4095 0 4095
- 加载
[root@linux-128 mnt]# swapon /tmp/newdiskswapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。//虽然提示不安全,但事实已经挂载成功[root@linux-128 mnt]# blkid /tmp/newdisk/tmp/newdisk: UUID="3c1465ff-5837-4ecf-948d-7d5719b382c4" TYPE="swap"
卸载swap
[root@linux-128 mnt]# swapoff /tmp/newdisk