linux 磁盘管理、分区管理常用命令

文章目录

    • 基础命令
    • 挂载新硬盘/分区
    • 添加内存交换分区swap
    • lvm分区管理模式

基础命令

查看目录文件大小

du -sh /backup
du -sh /backup/*
du -sh *

查看磁盘挂载信息

df -lhT

查看某个目录挂载在哪个分区,以及分区的磁盘使用情况

df [目录]
#例如:df /home

查看设备列表

fdisk -l

分区核心指令

fdisk /dev/sdb # 对磁盘/dev/sdb进行分区管理

a :设置可引导标记
b :修改bsd的磁盘标签
c :设置DOS操作系统兼容标记
d :删除一个分区
l :显示已知的分区类型,其中82为Linux swap分区,83为Linux分区
m :显示帮助信息
n :增加一个新的分区
o :创建一个新的空白的DOS分区表
p :显示磁盘当前的分区表
q :退出fdisk程序,不保存任何修改
s :创建一个新的空白的Sun磁盘标签
t :改变一个分区的系统号码(比如把Linux Swap分区改为Linux分区)
u :改变显示记录单位
v :对磁盘分区表进行验证
w :保存修改结果并退出fdisk程序
x :特殊功能

查看磁盘UUID

blkid

查看已挂载的分区和未挂载的分区

lsblk

可以看到有哪些分区挂载,哪些分区没有挂载
在这里插入图片描述
或者,查看已挂载的分区情况

findmnt

格式化分区/dev/sda 为 ext4

#格式化分区/dev/sda 为 ext4
mkfs.ext4 /dev/sda

#格式化分区为xfs格式
mkfs.xfs /dev/sdb1

使内核重新读取分区表

partprobe <磁盘设备>
#例如 partprobe /dev/sda

挂载分区到目录

mount <分区> <目录>
#例如:mount /dev/sda3 /data

#使挂载永久生效
#编辑fstab文件
vi /etc/fstab:
#加入如下内容:
/dev/sda3  /data  ext4  defaults 0 0

取消挂载

umount <分区>
umount /dev/sdb1

自动根据fstab重新挂载

mount -a

挂载新硬盘/分区

参考:https://www.linuxprobe.com/basic-learning-06.html
说明:一个新硬盘接入系统,在系统以/dev/sd[a-z] 形式表示,硬盘可以分为多个分区,分区以/dev/sd[a-z][1-9]表示。对磁盘的分区可以全部分区,也可以部分分区,在分区时通过起始扇区来设定每个分区的大小和分区范围。
分区挂载使用步骤:
查看未使用的磁盘-> 磁盘分区-> 磁盘格式化->挂载->使重启生效->使用

#1. 查看指令
lsblk
blkid
fdisk -l

#2. 创建分区
fdisk /dev/sdb
:m # 查看指令帮助
:p # 查看分区信息
:l # 查看磁盘编码
:n # 创建分区 
:p创建主分区 
:(默认)设置分区序号,默认回车  
:(默认)设置扇区起始位置,默认回车
:+2G #设置结束扇区,默认回车设置磁盘剩下的所有大小。此处决定了要增加的分区大小,这里设置为2G
:p # 再次查看分区信息,可见出现sdb1分区
:w # 保存分区
# 查看是否正常, 打印/dev/sdb1: block special表示正常
file /dev/sdb1
# 若不正常,执行强制让内核重新找一次分区表(更新分区表)
partprobe /dev/sdb

#3.格式化分区
mkfs.xfs /dev/sdb1 # 提示:在输入mkdfs 按下Tab,会提示可选的分区格式,一般使用ext4、xfs

#4.挂在到目录
mkdir /backup # 创建一个目录用来挂载
mount /dev/sdb1 /backup # 将分区sdb1挂载到backup目录
df -h #查看挂载是否正确

#5.保存挂载信息,使重启也生效,
vim /etc/fstab #文件末尾添加如下,wq保存:
/dev/sdb1 /backup xfs defaults 0 0 

添加内存交换分区swap

# 划分分区,并将分区标识码设为 82 (Linux swap)
fdisk /dev/sdb
:n #新增分区
	:p #创建主分区
	:(默认) #设置起始扇区,默认回车
	:+5G #设置结束扇区,默认回车设置磁盘剩下的所有大小。此处决定了要增加交换分区的大小,这里设置为5G
:t #修改分区标识码
	:(默认) #输入刚刚创建好的分区序号,必须与上面设置的分区号一致,默认回车
	:82 #设置分区识别码为82(Linux swap),按需L可以查看所有分区识别码预览
	:8e # 该模式适用于创建lvm分区结构
:p #查看最终的分区状态,应该会看到类似输出 /dev/sdb2 xxx xxx xxx 5G 82 Linux swap / Solaris
:w #写入,结束退出

partprobe /dev/sdb #建议执行一次,用于重新查找分区表
mkswap /dev/sdb2 # 格式化为交换分区格式
free -h #先查看以下已有的交换分区大小
swapon /dev/sdb2 # 激活并挂载
free -h #可以看到,基于已有大小的增加了交换分区大小
vim /etc/fstab #开机自动挂载。末尾添加如下内容:
/dev/sdb2 swap swap defaults 0 0

lvm分区管理模式

参考

第7章 使用RAID与LVM磁盘阵列技术
Linux下的磁盘管理之LVM详解及lvm的常用磁盘操作命令

LVM的优缺点

优点:
可以在系统运行的状态下动态的扩展文件系统的大小
文件系统跨越多个磁盘,文件系统的大小不受磁盘大小的限制
LVM的存储空间可以通过新增磁盘的方式扩容

缺点:
从卷组中移除一个磁盘的时候必须使用reducevg命令
当卷组中有一个磁盘损坏了,整个卷组都会受到影响(由于一份数据可能会存储在不同的磁盘中)
在磁盘创建过程中增加了额外的步骤,所以数据存贮性能会受到影响

结构组成
在这里插入图片描述
表7-3 常用的LVM部署命令

功能/命令物理卷管理PV卷组管理 VG逻辑卷管理 LV
扫描pvscanvgscanlvscan
建立pvcreatevgcreatelvcreate
显示pvdisplayvgdisplaylvdisplay
删除pvremovevgremovelvremove
扩展vgextendlvextend
缩小vgreducelvreduce
命令lvs、lvscan、lvdisplay查看已有逻辑卷
  1. 划分分区sdb1,并设置为lvm格式
fdisk /dev/sdb
:n -> p -> 一路回车
:t -> 8e
:w

创建lvm分区模式,操作示例:


#1.让新添加的两块硬盘设备支持LVM技术。
pvcreate /dev/sdb /dev/sdc # 或者指定分区/dev/sdb1 需要先将分区设为linux lvm格式
#2.把两块硬盘设备加入到storage卷组中,然后查看卷组的状态。
vgcreate storage /dev/sdb /dev/sdc
#查看卷组信息
vgdisplay
#3.再切割出一个约为150MB的名称为vo的逻辑卷设备。
#这里需要注意切割单位的问题。在对逻辑卷进行切割时有两种计量单位。第一种是以容量为单位,所使用的参数为-L。
#例如,使用-L 150M生成一个大小为150MB的逻辑卷。
#另外一种是以基本单元的个数为单位,所使用的参数为-l。每个基本单元的大小默认为4MB。
#例如,使用-l 37可以生成一个大小为37×4MB=148MB的逻辑卷。
lvcreate -n vo -l 37 storage
#示例2:将卷组backupgroup下所有剩余空间创建backuplv逻辑卷
lvcreate -n backuplv -l +100%FREE backupgroup

#4.把生成好的逻辑卷进行格式化,然后挂载使用。
mkfs.ext4 /dev/storage/vo #或者格式化为速度更快的格式 mkfs.xfs /dev/storage/vo
mkdir /linuxprobe
mount /dev/storage/vo /linuxprobe
#对了,如果使用了逻辑卷管理器,则不建议用XFS文件系统,因为XFS文件系统自身就可以使用xfs_growfs命令进行磁盘扩容。这虽然不比LVM灵活,但起码也够用。在实测阶段我们发现,在有一些服务器上,XFS与LVM的兼容性并不好。

#5.查看挂载状态,
df -h
#6.写入配置文件,使其永久生效。
echo "/dev/storage/vo /linuxprobe ext4 defaults 0 0" >> /etc/fstab
#echo "/dev/storage/vo /linuxprobe xfs defaults 0 0" >> /etc/fstab

lvm分区模式下,对逻辑卷扩容

#卸载storage卷组下的所有lv逻辑卷的挂载
umount /linuxprobe
#2.把上一个实验中的逻辑卷vo扩展至290MB。
lvextend -L 290M /dev/storage/vo
#3.检查硬盘的完整性,确认目录结构、内容和文件内容没有丢失。一般情况下没有报错,均为正常情况。
e2fsck -f /dev/storage/vo
#4.重置设备在系统中的容量。刚刚是对LV(逻辑卷)设备进行了扩容操作,但系统内核还没有同步到这部分新修改的信息,需要手动进行同步。
resize2fs /dev/storage/vo
#5.重新挂载硬盘设备并查看挂载状态。
mount -a
df -h
#可见,总大小已经增加到279M:/dev/mapper/storage-vo  279M  2.1M  259M   1% /linuxprob

lvm分区模式下,对逻辑卷缩容

#卸载storage卷组下的所有lv逻辑卷的挂载
umount /linuxprobe
#检查文件系统的完整性。
e2fsck -f /dev/storage/vo
#通知系统内核将逻辑卷vo的容量减小到120MB。
resize2fs /dev/storage/vo 120M
#将LV逻辑卷的容量修改为120M。
lvreduce -L 120M /dev/storage/vo
#重新挂载文件系统并查看系统状态。
mount -a
df -h

删除逻辑卷

#取消挂载
umount /linuxprobe
#编辑分区表,删除对应的挂载
vim /etc/fstab
#执行删除
lvremove /dev/storage/vo

删除卷组,此处只写卷组名称即可,不需要设备的绝对路径。

vgremove storage

删除物理卷设备。

pvremove /dev/sdb /dev/sdc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/193753.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C# 使用PanGu分词

写在前面 这是官方介绍&#xff1a;盘古分词是一个中英文分词组件。作者eaglet 曾经开发过KTDictSeg 中文分词组件&#xff0c;拥有大量用户。作者基于之前分词组件的开发经验&#xff0c;结合最新的开发技术重新编写了盘古分词组件。 盘古分词组件需要配合其字典文件使用&am…

【斗破年番】萧炎斩杀蝎山,活捉魂殿铁护法,救小医仙身中魔斑毒

Hello,小伙伴们&#xff0c;我是拾荒君。 《斗破苍穹年番》第72集的国漫已经更新了。这一集中&#xff0c;蝎毕岩靠着秘术的加成暂时压制住了小医仙。在激烈的交战中&#xff0c;小医仙不得不解开自身的厄难毒体&#xff0c;而每解开一次&#xff0c;她就离死亡更近一步。 萧炎…

中文编程开发工具高级版全部构件工具箱列表,中文编程自由版下载

中文编程开发工具高级版全部构件工具箱列表&#xff0c;中文编程自由版下载 附&#xff1a;中文编程工具构件工具箱总共22组305个构件&#xff0c;构件明细如下&#xff1a;文本件16个&#xff1a; &#xff08;普通标签&#xff0c;连接标签&#xff0c;闪动标签&#xff0c;立…

艾森股份将上市在即:募资约6亿元,张兵、蔡卡敦夫妇为实控人

11月27日&#xff0c;江苏艾森半导体材料股份有限公司&#xff08;下称“艾森股份”&#xff0c;SH:688720&#xff09;开启申购&#xff0c;将在科创板上市。本次上市&#xff0c;艾森股份的发行价为28.03元/股&#xff0c;发行数量约2203万股&#xff0c;预计募资总额约6.18亿…

QMap key()和value(const Key key, const T defaultValue = T()) const第二个参数作用

value()函数介绍 返回与键key关联的值。 如果map不包含键为key的项&#xff0c;则该函数返回defaultValue。 如果没有指定defaultValue&#xff0c;该函数返回一个默认构造的值。 如果映射中有多个key项&#xff0c;则返回最近插入的项的值。 示例 定义自定义类型&#xff…

距离向量路由协议——RIP

目录 动态路由动态路由简介为什么需要动态路由动态路由基本原理路由协议的分类 距离向量路由协议RIPv1 VS RIPv2RIP简介RIPv1的主要特征RIPv1的基本配置 VS RIPv2的基本配置RIP配置案例被动接口单播更新使用子网地址 动态路由 动态路由简介 为什么需要动态路由 如果采用静态…

串口数据包收发的思路和流程-stm32入门

本节主要内容&#xff1a; 如何去规定一个合理的数据包格式如何收发数据包 1. 数据包格式规定/定义 1.1 HEX 数据包定义 固定包长&#xff0c;含包头包尾 可变包长&#xff0c;含包头包尾 首先数据包的作用是把一个个单独的数据给打包起来&#xff0c;方便我们进行多字节…

126. 单词接龙 II

126. 单词接龙 II 需要注意的是&#xff0c;由于要找最短路径&#xff0c;连接 dot 与 lot 之间的边就不可以被记录下来&#xff0c;同理连接 dog 与 log 之间的边也不可以被记录。这是因为经过它们的边一定不会是最短路径。因此在广度优先遍历的时候&#xff0c;需要记录的图…

运维01:云计算

云计算的类型 分类&#xff1a;公有云、私有云、混合云 云计算的服务模式 服务模式分3种&#xff1a; ①IaaS&#xff08;Infrastructure as a Service&#xff09;&#xff1a;基础设施即服务 ②PaaS&#xff08;Platform as a Service&#xff09;&#xff1a;平台即服务…

第一节HarmonyOS DevEcoStudio工具下载以及环境搭建

一、下载与安装DevEco Studio 在HarmonyOS应用开发学习之前&#xff0c;需要进行一些准备工作&#xff0c;首先需要完成开发工具DevEco Studio的下载与安装以及环境配置。 进入DevEco Studio 工具下载官网&#xff1a;https://developer.harmonyos.com/cn/develop/deveco-stu…

STL: 容器适配器stack 与 queue

目录 1.容器适配器 1.1 STL标准库中stack和queue的底层结构 1.2 deque的简单介绍(了解) 1.2.1 deque的原理介绍 1.2.2 deque的缺陷 1.2.3 为什么选择deque作为stack和queue的底层默认容器 2. stack的介绍和使用 2.1 stack的介绍 2.2 stack的使用 2.3 利用deque模拟实现…

3分钟快速实现EG网关串口连接丰炜PLC

EG网关串口连接丰炜PLC 前言&#xff1a;丰炜PLC广泛应于工业控制领域&#xff0c;是一款性能高、稳定性强的PLC设备。此文档将介绍如何使用EG系列网关通过串口连接丰炜PLC&#xff0c;并添加到EP物联网云平台&#xff0c;实现电脑Web页面、手机APP和微信对丰炜PLC的远程监控和…

【24届校招】c++选手还有机会吗?如何选择更好的出路?

一、今年为什么c选手就业形势如此艰难&#xff1f; 去年c岗位的火热&#xff0c;不少c选手拿到高薪offer&#xff0c;今年转c的人群变多&#xff0c;内卷加剧&#xff0c;高学历大佬多如牛毛&#xff0c;很多比较好的c岗位多人投递&#xff0c;僧多肉少。 从行情来说&#xf…

关于‘NoneType‘ object has no attribute ‘endswith‘问题

这是个调用文件&#xff0c;相当于一个工具&#xff0c;不能单独使用&#xff0c;所以运行会报这个错误。

CSS3制作3D爱心动画

1、什么是CSS css&#xff0c;即层叠样式表的简称&#xff0c;是一种标记语言&#xff0c;有浏览器解释执行用来使页面变得更美观。 2、选择器 css3中新增了一些选择器&#xff0c;如下&#xff1a; 3、新样式 边框 css3新增了三个边框属性&#xff0c;分别是&#xff1a; bo…

C++值常用集合算法

C值常用集合算法 set_intersection #include<iostream> using namespace std; #include<vector> #include<numeric> #include<algorithm>class MyPrint { public:void operator()(int val){cout << val<<" ";} };void test() {v…

LabVIEW绘制带有多个不同标尺的波形图

LabVIEW绘制带有多个不同标尺的波形图 通过在同一波形图上使用多个轴&#xff0c;可以使用不同的标尺绘制数据。请按照以下步骤操作。 将波形图或图表控件放在前面板上。 1. 右键点击您要创建多个标尺的轴&#xff0c;然后选择复制标尺。例如&#xff0c;如果要为一个…

python爬虫进阶篇(异步)

学习完前面的基础知识后&#xff0c;我们会发现这些爬虫的效率实在是太低了。那么我们需要学习一些新的爬虫方式来进行信息的获取。 异步 使用python3.7后的版本中的异步进行爬取&#xff0c;多线程虽然快&#xff0c;但是异步才是爬虫真爱。 基本概念讲解 1.什么是异步&…

八股文-Java方法的重载与重写

在 Java 中&#xff0c;重载和重写是两个关键的面向对象编程概念。重载通过方法的参数列表不同来区分同名方法&#xff0c;提供了更灵活的方法调用方式。而重写通过子类重新定义父类中已经存在的方法&#xff0c;实现了多态性的体现&#xff0c;让代码更具可扩展性和维护性。 重…

【云备份】配置加载文件模块

文章目录 配置信息设计配置文件加载cloud.conf配置文件单例模式的使用ReadConfigFile —— 读取配置文件GetInstance —— 创建对象其他函数的实现 具体实现cloud.confconfig.hpp 配置信息设计 使用文件配置加载一些程序运行的关键信息 可以让程序的运行更加灵活 配置信息&am…