自动快照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