其中等待的那个过程非常非常漫长,比拜登那漫长而响亮的屁要漫长的多,建议睡觉前运行,睡醒了可能会做好。
最终结果如下:
rancher部署的k3s集群无法加入新的etcd节点,查询日志发现报错,etcd群组中出现本应该已被删除的节点prepaid-de,此节点已经被删除,但却错误的留在了etcd member list中,导致etcd服务无法正常验证。
移除已经无效的节点prepaid-de,恢复etcd集群的可用性。
在k3s集群主控节点安装etcdctl工具。
方法一:可以使用apt install命令直接进行安装
apt install etcd-client
方法二:下载对应etcd版本的etcdctl工具手动安装
首先查询获取etcd的版本
curl -L --cacert /var/lib/rancher/k3s/server/tls/etcd/server-ca.crt --cert /var/lib/rancher/k3s/server/tls/etcd/server-client.crt --key /var/lib/rancher/k3s/server/tls/etcd/server-client.key <https://127.0.0.1:2379/version>
修改ETCD-VER=v
之后的版本号为之前获取到的数字,运行以下命令安装对应版本etcdctl
ETCD_VER=v3.5.0 # choose either URL GOOGLE_URL=https://storage.googleapis.com/etcd GITHUB_URL=https://github.com/etcd-io/etcd/releases/download DOWNLOAD_URL=${GOOGLE_URL} rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gzrm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gztar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.
1、合并存储 删除local-lvm存储空间
lvremove lvremove pve/data lvextend -l +100%FREE -r pve/root
2、web界面删除local-lvm
数据中心-存储-删除local-lvm 编辑local,内容里添加 磁盘映像和容器
不幸的是,在从 ext4 迁移到 ZFS 之后,我发现k3s由于缺少对overlayfsZFS 的支持而导致崩溃。
在解决这个问题之前,我升级到 Debian bullseye。
k3s
目前不支持 ZFS 快照程序。可以通过三种方法解决此问题:
containerd
支持 ZFS)。然而,我就没那么幸运了,几个小时后我就放弃了。使用native
snapshotter,它速度较慢并且消耗更多磁盘(将产生很多重复文件),但它可以工作。
/etc/systemd/system/k3s.service
并添加--snapshotter native
到k3s server
项目之后。我们将利用 ZFS 的 ZVOL 功能来创建一个 ext4 卷以用作 overlayfs 的后端。ZVOL 是 ZFS 可以向系统公开的块设备(与作为 ZFS 文件系统的数据集相反)。这些 ZVOL 可以像普通块设备一样使用:我们将创建其中一个,用 ext4 格式化它并用它来托管 k3s agent目录。
# use zfs list see the zfs root path name and the space of disk, in my server which on PVE7 it's "rpool"
zfs list
# Create a sparse (-s) zvol (-V).
# "Sparse" means that the volume will be allocated as data is written into the
# volume. So this ZVOLs will grow over time, when needed, until 90G
zfs create -s -V 90GB rpool/k3s-agent
# Format the ZVOL as ext4
mkfs.ext4 /dev/zvol/rpool/k3s-agent
# Now you nee
之前用卷组的方法也可以,而且其实性能是一样的。
此方法只适用于Linux,而windows上应该是没办法的,至少我没想到什么办法通过DD的方式来整个软raid 0出来。
过程如下:
其中等待的那个过程非常非常漫长,比拜登那漫长而响亮的屁要漫长的多,建议睡觉前运行,睡醒了可能会做好。
最终结果如下:
目前这个需求已经有人开发了工具,可以直接结合Proxmox VE 内部的备份工具,可以在Backup Log 中看到Rclone 的相关Log,搭配Proxmoe VE 内建CRON 自动备份到各种网路空间,非常方便:
在Proxmox VE 中以root 身份登入,直接使用指令安装rclone
apt update apt install rclone -y
或到Rclone 的官网下载安装:
请务必仔细跟着设定,或是你自己去研究rclone 的config
# rclone config 2021/10/08 02:03:49 NOTICE: Config file "/root/.config/rclone/rclone.conf" not found - using defaults No remotes found - make a new one n) New remote s) Set configuration password q) Quit config n/s/q> n name> gd-backup_crypt # 务必使用这个名字,或是之后改脚本 Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value ~~ 15 / Google Drive \ "drive" ~~ Storage> 15 Google Application Client Id Setting your own is recommended. See https://rclone.org/drive/#making-your-own-client-id for how to create your own. If you leave this blank, it will use an internal key which is low performance. Enter a string value. Press Enter for the default (""). client_id> 123456789-xxx
为保证数据安全,在进行调整前建议对LXC容器先进行备份
风险点:目前使用此方法对硬盘缩减后,无法正常创建快照、备份失败的问题,请谨慎操作
环境都是在 Proxmox VE 虚拟系统上架设,都是以 LXC 模式为主,除非有特殊状况会告知使用 VM 模式
系统环境: Proxmox VE 7.2
1、通过命令行接入到 PVE 主机,列出 zfs 清单确认 lxc 容器存储路径,此处我们拿编号200的lxc容器进行演示
zfs list
2、对指定 LXC 存储空间进行缩减,原本 800G 要缩减成 300G
zfs set quota=300G rpool/data/subvol-200-disk-0 zfs set refquota=300G rpool/data/subvol-200-disk-0
3、修改指定 LXC 的配置文件 vim /etc/pve/lxc/200.conf
# 修改前 rootfs: local-zfs:subvol-200-disk-0,size=300G # 修改後 rootfs: local-zfs:subvol-200-disk-0,size=300G
注意:如果进行缩减操作时,lxc还在运行中,则在修改后,需要手动重启容器
4、最后启动 LXC 容器确认是否可以正常运行,使用 pct enter 200
进到容器中,确认总空间是否已经缩减至 300G
完美!接下来,要开始继续缩减另一台空间为8T的lxc容器啦~
参考链接:
https://wiki.freedomstu.com/books/proxmox-ve-%E8%99%9B%E6%93%AC%E7%B3%BB%E7%B5%B1%E8%A8%98%E9%8C%84/page/lxc-WDA
最近在配置zfs RAM Cache 大小时,不小心在/etc/modprobe.d/zfs.conf文件中多输入了一行换行,导致重启后服务器无法正常载入ZFS模块,进不去系统了。
查了好久资料,以下为具体的操作记录:
这里直接删除/etc/modprobe.d/zfs.conf这个文件
rm -rf /etc/modprobe.d/zfs.conf
modprobe zfs zpool import -N rpool
zpool import
看一下id,然后zpool impot id -N导入)update-initramfs -u
更新grub:
update-grub