Linux物理存储结构以及磁盘划分及使用
在Linux系统中一切都是文件,硬件设备也不例外。既然是文件,就必须有文件名称。系统内核中的udev设备管理器会自动把硬件名称规范起来,并且一直管理/dev目录下。
2022年7月20日在浙江金华出差时,现场就给了个裸机,硬盘没有挂载,由于以前没有运维的经验所以记录此次linux系统添加逻辑卷的过程。
使用 fdisk -l
命令查看磁盘及分区的情况。能够看到我们添加的两块硬盘,最终结果如下:
图中为挂载后的最终结果,开始时/dev/vdb并没有下半部分的信息。/dev/vda的上半部分态是硬盘的整体状态,/dev/sda 硬盘的总大小是 40 GB。
以硬盘 /dev/sdb 开始部署。
准备工作:工具软件
在 Linux 中有专门的分区命令 fdisk 和 parted。其中 fdisk 命令较为常用,但不支持大于 2TB 的分区;如果需要支持大于 2TB 的分区,则需要使用 parted 命令。
第一步:创建物理卷
命令:fdisk /dev/vdb
交互界面的等待输入指令的位置,可以输入m
来看下帮助信息:
命令 | 说 明 |
---|---|
a | 设置可引导标记 |
b | 编辑 bsd 磁盘标签 |
d | 删除一个分区 |
n | 新建分区 |
q | 不保存退出 |
w | 保存退出 |
这里我们输入参数n尝试添加新的分区。系统会要求您是选择继续输入参数p来创建主分区,还是输入参数e来创建扩展分区。这里输入参数p来创建一个主分区:
在Linux系统中,一块物理硬盘上的主分区是可以直接使用的,扩展分区需要再次分区才能够使用。(主分区和扩展分区的数量,在一块硬盘上不能超过4块)一般而言,对于需要使用的存储盘,直接划分一个主分区即可。
在确认创建一个主分区后,系统要求您先输入主分区的编号。在前面提到,主分区的编号范围是1~4,因此这里输入默认的1就可以了。接下来系统会提示定义起始的扇区位置,这里敲击回车键保留默认设置即可,系统会自动计算出最靠前的空闲扇区的位置。最后,系统会要求定义分区的结束扇区位置,这其实就是要去定义整个分区的大小是多少。我们不用去计算扇区的个数,只需要输入+1100G即可创建出一个容量为1100GB的硬盘分区。
述几步执行完成后,Linux系统会自动把这个硬盘主分区抽象成/dev/vdb1设备文件。我们可以使用file /dev/vdb1
命令查看该文件的属性。
第二步:逻辑卷格式化
如果硬件存储设备没有进行格式化,则Linux系统无法得知怎么在其上写入数据。因此,在对存储设备进行分区后还需要进行格式化操作。在Linux系统中用于格式化操作的命令是mkfs。
命令:mkfs /dev/vdb1
第三步:逻辑卷挂载。
挂载,指的就是将设备文件中的顶级目录连接到 Linux根目录下的某一目录(最好是空目录),访问此目录就等同于访问设备文件。挂载相关的知识:
1. 目录事先存在,可以用mkdir命令新建目录
2. 挂载点目录不可被其他进程使用到
3. 挂载点下原有文件将被隐藏
并不是根目录下任何一个目录都可以作为挂载点,由于挂载操作会使得原有目录中文件被隐藏,因此根目录以及系统原有目录都不要作为挂载点,会造成系统异常甚至崩溃,挂载点最好是新建的空目录。挂载点:必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常。
挂载命令:
mount [-t vfstype] [-o options] [设备名称] [挂载点]
**挂载示例:**以光盘挂载为例子(U盘或光盘的使用都需要进行挂载),一般来说CDROM的设备文件是/dev/hdc
或dev/cdrom
或media/cdrom
(U盘一般是:/dev/sda1
)
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
挂载点: 必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常
设备名称: 可以是一个分区,一个usb设备,光驱,软盘,网络共享等
-t: 指定文件系统的类型,通常不必指定,mount 会自动选择正确的类型。
常用类型有:光盘或光盘镜像:iso9660; DOS fat16文件系统:msdos; Windows 9x fat32文件系统:vfat;Windows NT ntfs文件系统:ntfs; Mount Windows文件网络共享:smbfs; UNIX(LINUX)。文件网络共享:nfs。
-o: 主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统;
ro:采用只读方式挂接设备;
rw:采用读写方式挂接设备;
iocharset:指定访问文件系统所用字符集
设备挂载完毕后即可通过df -lh
看到相应的目录:
其他:卸载目录
使用命令: umount 设备文件名或挂载点
在执行 umount 命令之前,用户须退出挂载目录。卸载硬件设备成功与否,除了执行 umount命令不报错之外,还可以使用 df 命令或 mount -l 来查看目标设备是否还挂载在系统中。