linux lvm2卷 创建、备份与恢复

news/2024/5/19 0:54:37

查看存储信息

有人吐槽btrfs不稳定,所以还是老办法吧:lvm2-ext4
建议现在虚拟机内练习一下,再上实机。
u盘用ventoy烧录(多系统支持),进入linux的iso镜像,打开控制台

liveuser@localhost-live:/$ lsblk # 显示所有挂载的存储设备NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop0         7:0    0    2G  1 loop # 文件挂载成文件系统,比如swapfile
loop1         7:1    0    8G  1 loop 
├─live-rw   253:0    0    8G  0 dm   / #挂载在根的device mapper,通用的抽象虚拟层,可能是LVM或加密设备
└─live-base 253:1    0    8G  1 dm   
loop2         7:2    0   32G  0 loop 
└─live-rw   253:0    0    8G  0 dm   /
sr0          11:0    1  2.1G  0 rom  /run/initramfs/live # 只读,可以是CD-rom, dvd-rom……
zram0       251:0    0  1.9G  0 disk [SWAP] # 用作SWAP的磁盘(虚拟内存-分区版)
vda         252:0    0    1G  0 disk # 可读写磁盘

vda是我们要操作的硬盘

创建lvm2:pv,vg,lvcreate

pv物理卷→vg卷组→lv逻辑卷

sudo -i #如果执行这条语句,后面则无须再用sudo
sudo pvcreate /dev/vda
sudo vgcreate -s 4M myvg /dev/vda # -s最小分配单元为4M,即后期扩容、收缩至少4M(-s的默认值也是4M)
sudo lvcreate -l 90%FREE -n mylv myvgsudo mkfs.ext4 /dev/myvg/mylv # 别忘格式化

-l 90%FREE 所有可用空间的90%
-l 80%VG 该卷组的80%
-l 70%PVS 所有物理卷的70%
-l 1000 1000块最小分配单元(PE: physical extent)

挂载

sudo mkdir /mnt/mylv # 创建挂载点
sudo mount /dev/myvg/mylv /mnt/mylv # 临时挂载,重启失效nano /etc/fstab # 永久挂载
# fstab内添加新行,按ctrl+s保存,Ctrl+x退出:
/dev/myvg/mylv /mnt/mylv ext4 defaults 0 0sudo mount -a # 挂载所有在/etc/fstab文件中定义的文件系统

收缩lvm

硬盘用几年了的,最好先备份一下。

sudo umount /mnt/mylv #卸载
sudo e2fsck -f /dev/myvg/mylv #检查文件系统的一致性df -h /dev/myvg/mylv #查看实际占用大小Used#收缩文件系统
sudo resize2fs /dev/myvg/mylv 300M #调整大小到300M
sudo resize2fs -M /dev/myvg/mylv #缩到尽可能小-M
sudo resize2fs /dev/myvg/mylv #扩大到最大,上限为lv逻辑卷大小sudo lvreduce -L 300M /dev/myvg/mylv #收缩逻辑卷
sudo mount /dev/myvg/mylv /mnt/mylv #重新挂载
更多注解

df --output=source,size /dev/myvg/mylv显示文件系统的大小。
tail -n +2删除df命令的标题行,从第二行开始输出。
awk '{printf "%dM\n", $2/1024}'将大小从Kb(Kb=1K-blocks=1000)转换为。

umount: /mnt/mylv: target is busy.

sudo lsof /mnt/mylv #列举占用的进程
sudo lsof /mnt/mylv | awk 'NR>1 {print $2}' | xargs -r kill #懒

一些关键程序会拒绝被kill,就得使用kill -9杀死

备份lvm

先加一份文本,验证lvm备份/恢复是否正确

# 下面2种方式2选一
sudo chmod 777 /mnt/mylv #权限代码
sudo chown $USER:$USER /mnt/mylv #更改拥有权cd /mnt/mylv && echo "before" > a.txt
权限代码 & 用户组

&&表示前面执行成功,才会执行后面的语句
>表示将"before"覆盖写入到a.txt;>>则是追加写入

权限代码

7的二进制为111,3位数分别:读/写/执行,r/w/x(eXecute)
777,3位数分别:所有者/组/其他用户,owner/group/others

常用用户组

chown myuser:mygroup myfile

  • root:系统管理员组。
  • wheel:通常用于拥有sudo权限的用户组。

  • daemon:运行守护进程的用户组。
  • adm:通常用于系统监控任务的用户组。
  • sys:通常用于拥有系统相关文件和目录的用户组。
  • bin:拥有许多可执行文件的用户组。

  • tty:拥有终端设备的用户组。
  • disk:拥有磁盘设备的用户组。
  • lp:拥有打印设备的用户组。
  • cdrom:拥有CD-ROM设备的用户组。
  • audio:拥有音频设备的用户组。
  • video:拥有视频设备的用户组。
  • plugdev:允许用户访问插入的设备(如USB键盘,鼠标等)的用户组。
  • mail:用于邮件系统的用户组。
sudo lvcreate --size 100M --snapshot --name mysnapshot /dev/myvg/mylv # 快照=新建卷
sudo lvremove /dev/myvg/mysnapshot # 当你觉得这份快照没必要时

请注意,当快照的空间用完时,快照将自动被删除。因此,你需要确保你的快照有足够的空间来存储你打算进行的所有修改。

恢复lvm

先修改文本echo "after" >> a.txt

sudo umount /mnt/mylv #卸载
sudo lvconvert --merge /dev/myvg/mysnapshot #恢复
sudo mount /dev/myvg/mylv /mnt/mylv #重新挂载

看一看a.txt的内容吧

为什么没有GUI?

假设你要远程ssl连接一台服务器去扩容,你觉得有gui界面吗?

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

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

相关文章

windows安装ffmpeg

官网 https://ffmpeg.org/download.html这个是别人已经编译好的,不染源码还需要重新编译解压到一个目录,添加到环境变量

SpringBoot3.1.5对应新版本SpringCloud开发(2)-Eureka的负载均衡

Eureka的负载均衡 负载均衡原理负载均衡流程老版本流程介绍 当order-servic发起的请求进入Ribbon后会被LoadBalancerInterceptor负载均衡拦截器拦截,拦截器获取到请求中的服务名称,交给RibbonLoadBanlancerCient,然后RibbonLoadBanlancerCient会将服务名称当作服务id交给Dyn…

i-MES生产制造管理系统-设备点检

考虑到设备的分布区域比较分散,为了方便设备管理人员进行作业,设备点检模块通过安卓版的移动 PDA 完成,在此之前我们登录进入 MES 系统,创建点检项目,包括每一个点检项目的标准值以及上下限,如下图所示: 创建完点检项目之后,我们针对不同的设备类型,定义点检方案,在…

yum配置及仓库搭建

yum实现 YUM 是一个在 Linux 系统中用于管理软件包的工具,可以在服务器和客户端之间跨网络使用。在这种系统中,服务器上通常会存储软件包(RPM 包)和相应的元数据(repodata 文件夹中的内容)。RPM 包:这些是实际的软件包文件,它们包含了应用程序、库文件、配置文件等。这…

P3193 [HNOI2008] GT考试 题解

P3193 [HNOI2008] GT考试 题解之前学矩阵乘的时候做的题,当时因为不会\(kmp\)搜索一稀里糊涂过去了,现在填个坑。头图 是\(Logos\)!P3193 [HNOI2008] GT考试 题链:洛谷 题库 题目大意: 求有多少个长度为\(n\)的数字串的子串中不包含给出的长度为\(m\)位的串,范围 \(n &l…

一些贪心的解题报告

一些贪心的解题报告 贪心题一般来说都是观察结论远简单于严谨证明,所以不会过多的去证明。 1.Tree compass 题目来源 codeforces div1 934 C https://codeforces.com/problemset/problem/1943/C 题面翻译 给定一棵节点数为\(n\)的树(\(1\le n \le 2\cdot 10^3\)),一开始节点都…

Ubuntu中CLion编译Geant4项目

围绕自带的/examples/basic/B1展开,其他项目相关操作类似。 成功安装Geant4后,首先验证B1示例能否正常运行,可以则进行下一步。 安装Clion。 进入B1示例,选择使用Clion打开目录中的CMakeLists.txt文件,以创建对应的项目(Project)。 进入项目后,直接Run该项目可能报如下…

Linux设置cp命令显示进度条

1、前言 实现原理: 重新安装cp、mv命令,显示进度条 测试环境:Centos7.6 查看当前系统下的coreutils工具包的版本 rpm -qa | grep -w coreutils当前版本8.22 2、下载coreutils安装包 不需要太新,8.32即可 wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz3、下…