磁盘格式化
磁盘分完区必须要格式化之后才可以使用
-
文件系统格式:
- Windows : NTFS、FAT
- Linux : cat /etc/filesystems(查看文件系统格式)
[root@yolks1 ~]# cat /etc/filesystems xfs ext4 ext3 ext2 nodev proc nodev devpts iso9660 vfat hfs hfsplus *
centos7默认文件系统xfs(使用mount命令查看)
ext4、ext3是centos6和centos5使用的版本文件系统
du -sh 和 ls -lh显示的大小不同
[root@yolks1 ~]# du -sh 4.txt
4.0K 4.txt
[root@yolks1 ~]# ls -lh 4.txt
-rw-r--r-- 1 root root 6 6月 12 22:26 4.txt
[root@yolks1 ~]# du -sb 4.txt
6 4.txt
原因是 du -sh 是以块大小(4kb)显示,虽然不够一块,但还是占用一块,所以显示4kb; ls -sh是以实际大小显示的,即6 Byte;但是du -sb选项显示的也是实际大小,即6 Byte.
格式化
1.mke2fs命令
- mke2fs
- -f 文件系统类型(ext4、ext3,不支持xfs)
- -b 块大小(2048kb、4096kb)
- -m(设置分区预留空间,默认5%) 1(1%)
- -i(字节/inode的比例) 分区名称(/dev/sdb1)
mke2fs -f ext4 == mkfs.ext4
b(块大小)根据情况修改,一般如果存储视频、高清图片的话分大点以提高读写效率。一般保持默认即可
默认inode和blocks比例为 1:4
当磁盘使用场景为很多小文件(小于4k)时,把块设置1k或者2k是能提升空间利用率的
先将/dev/sdb1格式化成ext4(ps:格式化过的仍可以格式化)
[root@yolks1 ~]# mke2fs -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
196608 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
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: 完成
继续改成xfs进行格式化,命令是:mxfs.xfs -f /dev/sdb1
[root@yolks1 ~]# 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 /dev/sdb1
[root@yolks1 ~]# blkid /dev/sdb1
/dev/sdb1: UUID="45f0e81c-52fb-458b-971f-f7d9cf241c3d" TYPE="xfs"
不分区直接格式化
[root@yolks1 ~]# 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
[root@yolks1 ~]# blkid /dev/sdb
/dev/sdb: UUID="1731fb3f-d739-4f49-b9aa-5b31e4aad08d" TYPE="xfs"
磁盘挂载
1.临时挂载到/mnt/目录下
[root@yolks1 ~]# mount /dev/sdb /mnt/
2.查看
[root@yolks1 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.1G 17G 6% /
devtmpfs 902M 0 902M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.6M 904M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 84M 58% /boot
tmpfs 183M 0 183M 0% /run/user/0
/dev/sdb 10G 33M 10G 1% /mnt
3.查看/dev/sdb文件系统
4.如果挂载点目录已经有文件或目录,卸载挂载的话会提示目录忙
[root@yolks1 ~]# cd /mnt/
[root@yolks1 mnt]# touch test1.txt test2.txt test3.txt
[root@yolks1 mnt]# ls
test1.txt test2.txt test3.txt
[root@yolks1 mnt]# umount /dev/sdb
umount: /mnt:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
解决办法,退出/mnt/目录再进行操作 或者 umount -l(并不是马上umount,而是在该目录空闲后再umount) /dev/sdb 也可以
[root@yolks1 /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.1G 17G 6% /
devtmpfs 902M 0 902M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.6M 904M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 84M 58% /boot
tmpfs 183M 0 183M 0% /run/user/0
- mount -o :指定挂载文件系统时的选项,有些也可写到在/etc/fstab中
- defaults 使用所有选项的默认值(auto、nouser、rw、suid)
- auto/noauto 允许/不允许以 –a选项进行安装
- dev/nodev 对/不对文件系统上的特殊设备进行解释
- exec/noexec 允许/不允许执行二进制代码
- suid/nosuid 确认/不确认suid和sgid位
- user /nouser 允许/不允许一般用户挂载
- codepage=XXX 代码页
- iocharset=XXX 字符集
- ro 以只读方式挂载
- rw 以读写方式挂载
- remount 重新安装已经安装了的文件系统
5.查看/etc/fstab 配置文件
#
# /etc/fstab
# Created by anaconda on Fri May 25 05:28:26 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=f4fdac33-5cd0-4f67-aa00-14ba69f53b41 / xfs defaults 0 0
UUID=b133c4bd-d73f-42a0-bacf-bbba20d30a72 /boot xfs defaults 0 0
UUID=7edf5c7f-347f-406a-9574-b9895947f286 swap swap defaults 0 0
/dev/sdb /mnt/ xfs defaults 0 0
列代表的含义 :<file system> <mount point> <type> <options> <dump> <pass>
第五列是dump备份设置。
当其值设置为1时,将允许dump备份程序备份;设置为0时,忽略备份操作;
第六列是fsck磁盘检查设置。
其值是一个顺序。当其值为0时,永远不检查;而 / 根目录分区永远都为1。其它分区从2开始,数字越小越先检查,如果两个分区的数字相同,则同时检查。
手动增加swap空间
一般内存的两倍,最大为8G即可
dd命令:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2
参数注释
- if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
- of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
- ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。 obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。 bs=bytes:同时设置读入/输出的块大小为bytes个字节。
- cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
示例
[root@yolks1 /]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,0.714241 秒,147 MB/秒
[root@yolks1 /]# df -h /tmp/newdisk
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.2G 17G 7% /
格式化要给swap添加的分区
[root@yolks1 /]# mkswap -f /tmp/newdisk
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=998b7c28-0ada-408f-a414-6dcc371d32ee
查看swap分配前的大小
[root@yolks1 /]# free -h
total used free shared buff/cache available
Mem: 1.8G 116M 1.4G 8.6M 249M 1.5G
Swap: 2.0G 0B 2.0G
添加到swap上去
[root@yolks1 /]# swapon /tmp/newdisk
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。
[root@yolks1 /]# free -h
total used free shared buff/cache available
Mem: 1.8G 116M 1.4G 8.6M 249M 1.5G
Swap: 2.1G 0B 2.1G
[root@yolks1 /]# chmod 0600 /tmp/newdisk
卸载添加的swap
[root@yolks1 /]# swapoff /tmp/newdisk
[root@yolks1 /]# free -h
total used free shared buff/cache available
Mem: 1.8G 116M 1.4G 8.6M 249M 1.5G
Swap: 2.0G 0B 2.0G