1.查看磁盘
查看磁盘分区
fdisk -l
[root@VM-0-11-centos ~]# fdisk -l
Disk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 262144 bytes / 262144 bytes
Disk label type: dos
Disk identifier: 0x0009ac89
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 104857566 52427759+ 83 Linux
Disk /dev/vdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 262144 bytes / 262144 bytes
[root@VM-0-11-centos ~]#
其中,/dev/vda是系统盘,/dev/vdb是未挂载的磁盘。
查看磁盘空间
df -h
[root@VM-0-11-centos ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 908M 0 908M 0% /dev
tmpfs 919M 24K 919M 1% /dev/shm
tmpfs 919M 456K 919M 1% /run
tmpfs 919M 0 919M 0% /sys/fs/cgroup
/dev/vda1 50G 2.9G 45G 7% /
tmpfs 184M 0 184M 0% /run/user/0
[root@VM-0-11-centos ~]#
目前只有系统盘,未挂载的盘不会在这显示。
- /dev/vda1是系统盘的逻辑分区。
- tmpfs为基于内存的虚拟文件系统。
- devtmpfs为文件系统创建设备节点,功能是在linux kernel启动早起建立一个初步的/dev,让一般启动程序不用等待udev,缩短GNU/Linux的开机时间。
2.分区
磁盘可以分区,也可以不分区直接格式化后挂载。
fdisk /dev/vdb
输入n,创建新分区。
输入p,创建主分区。
输入1,创建1个分区,后面使用默认值,分配所有扇区。
输入w,将分区表写入磁盘。
查看分区,分区成功,新分区为/dec/vdb1。
格式化
查看已加载驱动程序的,支持的文件系统。
它并非展示所有支持的文件系统,如果某种支持的文件系统从未被使用,可能就不会展示在该文件中,如果磁盘格式化为该格式并挂载,该格式就会显示在此文件中。
cat /proc/filesystems
将/dev/vdb1分区格式化为ext3格式。
- ext3是一个日志文件系统,是很多Linux发行版的默认文件系统。
- 最新的ext4是Linux kernel 2.6.28起支持。
- CentOS7.0开始默认文件系统是xfs。
mkfs -t ext3 /dev/vdb1
挂载
将/dev/vdb1挂载到/opt/data目录下,挂载目录必须存在,不存在需要先创建目录。
mount /dev/vdb1 /opt/data
挂载成功。
写入/etc/fstab
将挂载信息写入/etc/fstab文件,否则重启后需重新挂载。
文件中一共有六列:
- 设备名/label/uuid,设备名称跟磁盘插槽相关,label为标签名,uuid是分区唯一标识。
- 挂载点。
- 文件系统。
- 文件系统参数,一般选择default。
- 能否被dump命令使用,0代表不做dump备份,1为每天备份,2为不定日期备份。
- 是否检验扇区,开机时,系统默认使用fsck检查系统是否完整。0为不检查,1为优先检查,2为1检查完成后检查。
查看分区的uuid及类型
blkid
磁盘卸载
取消挂载
umount /dev/vdb1
删除分区
fdisk /dev/vdb
输入d,删除分区,输入w,写入磁盘
重置磁盘为原始状态
通过/dev/zero设备,将空字符(0x00)写入磁盘的数据块,只需写入前面一部分即可。
dd if=/dev/zero of=/dev/vdb bs=1M count=1024
问题
1.无法格式化扩展分区
报错:inode_size (128) * inodes_count (0) too big for a
filesystem with 0 blocks, specify higher inode_ratio (-i)
or lower inode count (-N).
错误原因:扩展分区无法直接格式化。
解决方法:在扩展分区的扇区上创建逻辑分区,格式化逻辑分区。
fdisk /dev/vdb
输入n,创建新分区,输入l,创建逻辑分区,输入w,写入磁盘。
格式化逻辑分区
mkfs -t ext4 /dev/vdb5
2.无法卸载分区
出现提示:umount: /opt/data: target is busy.
错误原因:分区被程序占用,无法umount。
解决方法:查出占用的程序,kill掉程序,再umount。
查询占用分区的进程的pid。
fuser -cu /dev/vdb2
查看具体进程信息
ps -ef |grep 12108
ps -ef |grep 22548
查询发现都是bash进程,是有shell窗口停留在分区所在目录,且未关闭。
确认没有影响,就可以杀死进程,可以使用fuser命令,也可以使用kill。
fuser -ck /dev/vdb2
或
kill -9 12108 22548
再次卸载分区,卸载成功!