首页 > 系统相关 >linux lvm2卷 创建、备份与恢复

linux lvm2卷 创建、备份与恢复

时间:2024-05-05 17:34:15浏览次数:27  
标签:myvg lvm2 备份 sudo mnt dev mylv linux 用户组

自动快照snapper

下载
文档:https://documentation.suse.com/zh-cn/sles/12-SP5/html/SLES-all/cha-snapper.html

查看存储信息

有人吐槽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 myvg

sudo 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 0

sudo 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界面吗?

标签:myvg,lvm2,备份,sudo,mnt,dev,mylv,linux,用户组
From: https://www.cnblogs.com/nolca/p/18173562

相关文章

  • ADS安装教程(Linux)
    在linux服务器中,创建安装目录,这里选择的安装目录为/opt/ADSsudomkdir/opt/ADS解压安装包文件tar-xvfads......tarunzipPathWave.....zip运行安装命令sudo./SETUP.SH在安装过程中,需要输入安装目录,填选之前创建的目录/opt/ADS直接安装即可在软件使用过程中,licens......
  • Linux设置cp命令显示进度条
    1、前言实现原理:重新安装cp、mv命令,显示进度条测试环境:Centos7.6查看当前系统下的coreutils工具包的版本rpm-qa|grep-wcoreutils当前版本8.222、下载coreutils安装包不需要太新,8.32即可wgethttp://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz3、下载补丁......
  • Linux 发行版选择
    简介要建立云服务器,首先需要安装操作系统。在现代环境中,几乎所有情况下都是指Linux操作系统。从历史上看,Windows服务器和其他类型的Unix在特定的商业环境中都很流行,但现在几乎每个人都在运行Linux,这是因为Linux支持广泛、许可免费或灵活,而且在服务器计算领域总体上无处不......
  • Matlab安装教程(Linux)
    解压安装包在虚拟机中,文件直接通过拖拽文件的方式将安装包拉入虚拟机时,文件通常存放在/tmp/VMwareDnD中,因此需要将存放文件位置的文件转移到/home/<用户名>/<存放目录>中参考命令如下:mv/tmp/VMwareDnD/<文件存放目录>/*/home/<用户名>/<存放目录>之后在存放压缩包的目录中,......
  • Linux基础
    目录一、Linux系统介绍二、Linux文件系统介绍三、什么是路径1、绝对路径2、相对路径3、特殊路径四、终端的使用技巧五、Linux系统命令1、常用的命令2、文件相关的命令3、目录相关的命令4、网络相关的命令5、其它命令六、通配符、管道、重定向1、通配符*代表任意多个字符?代表一......
  • 博客园数据备份相关
    OpenAPI文档文档地址,使用前必须先申请权限,应用介绍要详细点。这种方式支持随笔和文章,不支持笔记。管理后台备份只能在工作日18:00之后、8点之前或周六、周日进行操作,每天只允许备份一次。这种方式仅支持随笔。使用爬虫使用接口来模拟网页版的操作,使用Jsoup库来解析HTML内......
  • Linux 下使用 NetLink 检测设备的热插拔
    一、简单介绍下NETLINK    netlink套接字是用以实现用户进程与内核(2.6.24之后的版本)进程通信的一种特殊的进程间通信(IPC),也是网络应用程序与内核通信的最常用的接口。二、为什么能用NETLINK检测设备热插拔    当我们的设备从主机上进行拔插时,内核会通过netlin......
  • Linux 输出重定向 2>&1 , 1>&2
    在shell程式中,最常使用的FD(filedescriptor)大概有三个,分别是:0是一个文件描述符,表示标准输入(stdin)1 是一个文件描述符,表示标准输出(stdout)2 是一个文件描述符,表示标准错误(stderr)在标准情况下,这些FD分别跟如下设备关联: stdin(0):keyboard键盘输入,并返回......
  • Linux 使用 inotify 监控文件或目录变化
    转载:https://www.cnblogs.com/PikapBai/p/14480881.html作者:PikapBai 1运行环境#操作系统:Ubuntu182inotify简介#inotify是一个Linux内核特性(监视文件系统事件),它用于监控文件系统,比如删除、读、写操作等,当发生对应事件时,则会触发inotify。当监控目录时,与该目录......
  • Nexpose v6.6.248 for Linux & Windows - 漏洞扫描
    Nexposev6.6.248forLinux&Windows-漏洞扫描Rapid7VulnerabilityManagement,ReleaseApr24,2024请访问原文链接:Nexposev6.6.248forLinux&Windows-漏洞扫描,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org您的本地漏洞扫描程序搜集通过实时......