当前位置:首页 > 技术文章 > 正文内容

Linux 操作系统磁盘操作

douba34周前 (08-06)技术文章13

一、文档介绍

本文档描述 Linux 操作系统下多种场景下的磁盘操作情况。

二、名词解释

(一) 磁盘分区工具

fdisk和parted都是 Linux 系统中用于磁盘分区的工具。

两者的区别是:

  • fdisk主要支持 MBR 分区表,MBR分区表支持的硬盘单个分区最大容量为2TB,最多可以有4个主分区。
  • parted支持 MBR 分区表 和 GPT 分区表,GPT分区表可以支持更大的硬盘容量和更多的分区数量。

(二) 逻辑卷管理器

LVM(Logical Volume Manager)逻辑卷管理器,是一种高级磁盘管理工具,可以帮忙用户对存储卷进行灵活的管理。使用LVM可以方便的扩展、缩小、移动逻辑卷,从而更好地利用存储资源。LVM通过将物理卷(Physical Volume)、卷组(Volume Group)、逻辑卷(Logical Volume)进行组合,形成一个灵活的存储管理系统。

三、磁盘操作

(一) 查看磁盘信息

1. 查看系统中所有磁盘和分区信息

fdisk -l

2. 查看系统中所有块设备

lsblk

3. 查看系统中所有块设备的标识信息

blkid

(二) 标准磁盘管理

1. 新增一块磁盘

例如:新增磁盘为/dev/sdb

# 查看磁盘
fdisk -l

# 分区
fdisk /dev/sdb
## (1) n 创建新分区
## (2) p 选择主分区
## (3) 填写分区号,回车选择默认
## (4) 填写起始和结束扇区(不选择,表示剩余所有扇区,即所有剩余容量)
## (5) p 查看现有分区
## (6) w 写入磁盘

# 格式化
/sbin/mkfs.xfs -f -i size=2048 "/dev/sdb1"

# 挂载
mkdir -p /data
echo '/dev/sdb1 /data xfs defaults 0 0' >> /etc/fstab
mount -a

注意:在未执行w写入磁盘之前,都可进行更改。

2. 在原有磁盘上扩容,创建新分区

此操作与新增磁盘的操作一样,区别在于是使用新分区进行

# 查看磁盘
fdisk -l

# 分区
fdisk /dev/sdb
## (1) n 创建新分区
## (2) p 选择主分区
## (3) 填写分区号,回车选择默认
## (4) 填写起始和结束扇区(不选择,表示剩余所有扇区,即所有剩余容量)
## (5) p 查看现有分区
## (6) w 写入磁盘

# 格式化
/sbin/mkfs.xfs -f -i size=2048 "/dev/sdb2"

# 挂载
mkdir -p /data2
echo '/dev/sdb2 /data2 xfs defaults 0 0' >> /etc/fstab
mount -a

3. 在原有磁盘上扩容,扩容旧分区

上述示例中,/dev/sdb2(即/data2)只分配了 1G 空间,本例中需要对/dev/sdb2进行扩容。

注意:1. 本方法需要修改分区表,存在一定危险性,在操作前记得进行数据备份。

2. 本方法只适用于最后一个分区,特别是因为MBR分区表达到4个,无法继续创建分区的情况。


# 查看扩容目录数据
ls -alh /data2/
# 取消挂载目录
umount /data2

# 查看磁盘,记住需要删除分区的起始和结束扇区
fdisk -l

# 分区
fdisk /dev/sdb
## (1) p 查看现有分区
## (2) d 删除最后一个分区号
## (3) p 查看现有分区
## 此时只是逻辑删除,未执行w写入磁盘,数据仍然存在,误操作的话CTRL+C退出即可
## (4) n 创建新分区
## (5) p 选择主分区
## (6) 填写分区号,回车选择默认
## (7) 填写起始扇区
## 重要:确认默认扇区号是否与删除前的一致。
## 重要:一致的话,按回车
## 重要:不一致的话,需要填写为删除前记录的起始扇区号
## (8) 填写结束扇区(不选择,表示剩余所有扇区,即所有剩余容量)
## (9) p 查看现有分区
## (10) w 写入磁盘

# 不重启重载分区
partprobe

# 挂载磁盘
mount -a

此时发现磁盘仍然显示为原有大小,需要进行磁盘重载

  • 如果原有磁盘格式化格式为:xfs,执行命令:xfs_growfs /dev/sdb2
  • 如果原有磁盘格式化格式为:ext4,执行命令:resize2fs /dev/sdb2

(三) LVM

LVM通过分区进行卷管理,所以分区创建部分,可参考标准磁盘管理部分内容。

1. 新增一块磁盘,创建新逻辑卷

例如:新分区为/dev/sdc1

# 创建物理卷
pvcreate /dev/sdc1
# 查看物理卷
pvs
pvdisplay

# 创建卷组
vgcreate myvg /dev/sdc1
# 查看卷组
vgs
vgdisplay

# 创建逻辑卷
lvcreate -n data -l +100%FREE myvg
# 查看逻辑卷
lvs
lvdisplay


# 格式化
/sbin/mkfs.xfs -f -i size=2048 "/dev/myvg/data"

# 挂载
mkdir -p /data3
echo '/dev/mapper/myvg-data /data3 xfs defaults 0 0' >> /etc/fstab
mount -a

2. 新增一块磁盘,扩容旧逻辑卷

例如:新分区为/dev/sdd1

# 创建物理卷
pvcreate /dev/sdd1

# 创建卷组
vgextend myvg /dev/sdd1

# 扩容逻辑卷
lvextend -l +100%FREE /dev/myvg/data

此时发现磁盘仍然显示为原有大小,需要进行磁盘重载

  • 如果原有磁盘格式化格式为:xfs,执行命令:xfs_growfs /dev/myvg/data
  • 如果原有磁盘格式化格式为:ext4,执行命令:resize2fs /dev/myvg/data

相关文章

一文讲清怎样利用Python实现可以远程检索Linux日志的管理工具

摘要:在企业运维、开发测试以及系统安全等日常工作中,Linux服务器日志的分析与检索是一项不可或缺的任务。传统方式通常依赖通过SSH远程登录服务器,手动查找、下载或分析日志文件,这种方式效率低、易出错...

05、Linux查看服务的进程-没有自己的Linux服务器网页端练习

大家好,我是Bigder~今天依然是网页端学习01、Linux怎么判断当前登陆用户(网页端学习linux),登录网页端练习。1、今天练习一个指令、查看服务的进程是否存在2、使用「ps -ef |gre...

linux 查看当前应用内存状况,以及内存参数含义

1、查看进程号ps -ef | grep tomcat2、查看当前内存分配,200ms打印一次jstat -gc 进程号 200 1jstat -gc 34480 200 1 S0C S1C...

第五章 Linux常用服务介绍-5.2 FTP服务

1)ftp服务器安装和配置FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文本传输协议”,通常我们就叫它FTP服务。用于Internet上的控制文件的双...

Linux中ftp服务修改默认21端口等(linux修改ftp用户名和密码)

Linux中搭建ftp服务器参见:Linux搭建FTP服务器 Linux中访问ftp服务常见问题参见:Linux中vsftpd服务的常见问题1.修改ftp服务的控制连接的默认端口21(1)修改vsft...

filezilla,非常实用的ftp工具,远程Linux上传、下载和文件管理

今天给小伙伴们推荐一款非常好用的Linux远程工具,filezilla。在实际的开发过程中,时间就是项目的生命线,欲善其事,先利其器!如果你使用命令ftp上传、下载,加上远程登录、文件授权,烦不甚烦,...