linux下卸载 dev sd*下硬盘,搞懂Linux磁盘管理
前言我之前在linux系统下制作启动盘,都提示我要先把u盘卸载,虽然使用unmount命令解决了,但是不清楚为什么。最近的任务是在内网k8s集群上安装glusterfs作为存储类,官方文档的步骤中提到几个命令,意思是先分区(fdisk),再格式化磁盘(mkfs),不懂linux磁盘管理就很懵逼了。没有时间系统去了解linux的磁盘管理,但是我旁边放着一本《Linux命令行大全》,其中有一章讲解存储
前言
我之前在linux系统下制作启动盘,都提示我要先把u盘卸载,虽然使用unmount命令解决了,但是不清楚为什么。最近的任务是在内网k8s集群上安装glusterfs作为存储类,官方文档的步骤中提到几个命令,意思是先分区(fdisk),再格式化磁盘(mkfs),不懂linux磁盘管理就很懵逼了。没有时间系统去了解linux的磁盘管理,但是我旁边放着一本《Linux命令行大全》,其中有一章讲解存储介质,又看了一篇讲解linux磁盘的博客,就完全可以理解是怎么回事了。
磁盘表示
Linux 系统中所有的硬件设备都是通过文件的方式来表现和使用的,这些文件称为设备文件,硬盘对应的设备文件一般被称为块设备文件。管理存储设备首先要挂载,linux桌面的发展使得设备只要连上系统就自动挂载并工作,但是对于服务器还可能需要手动操作。linux在自动挂载设备后会自动设置设备的名称,设备所在的文件目录是/dev, ls /dev 看到如下图所示:
其中,存储设备名称为:/fd(软盘),/hd(IDE接口硬盘),/lp(打印机),/sr(光驱),/sd(SCSI硬盘,重点)。现代linux系统把所有类硬盘的设备(硬盘,u盘,内存卡等)都当做SCSI,也就是所有这些设备挂载到这个目录下。ls /sd*如下:
songkaizong@songkaizong-pc:~$ ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1
命名规则是用 "a-z" 表示,比如 /dev/sda 表示第一块磁盘,/dev/sdb 表示第二块磁盘。我的机器有2个类硬盘设备,一个硬盘一个u盘,所以a代表硬盘,b代表u盘,a1,a2是硬盘的2个分区,b1是u盘的分区。
使用如下命令查看某一个磁盘的所有分区明细:
sudo fdisk -l /dev/sd[a,b,...]
挂载和卸载
这里挂载与卸载对应的应当是分区,而不是整个磁盘。
使用mount 命令挂载硬盘,这个一般系统会自动挂载。
使用unmount命令卸载磁盘,在进行分区与格式化时,必须先执行卸载操作,如umount /dev/sdb1 卸载我的u盘1分区。
分区与格式化
分区是使用磁盘的基础,在分区完成后还需要对分区进行格式化,并把格式化后的文件系统挂载到 Linux 系统之后才能存储文件。
分区
使用sudo fdisk /dev/sdb 对磁盘进行分区,这个分区有非常完善的提示,下面是一个例子,根据提示更改了分区类型为83 Linux,最后输入w保存生效:
格式化
使用mkfs命令格式化分区,如sudo mkfs -t ext3 /dev/sdb1,意思是把机器上第2个磁盘设置第1个分区,,格式化为ext3文件系统。更多参数去查文档。
命令汇总
etc/fstab 列出了系统启动时挂载的设备
df -h
ls /dev/sd*
sudo fdisk -l /dev/sdb
mount | grep /dev
sudo fdisk /dev/sdb
mkfs.xfs -i size=512 -f /dev/sdb1
更多推荐
所有评论(0)