PVE重建 LVM-Thin 精简池

PVE重建 LVM-Thin 精简池:缩小默认 local-lvm 存储 背景 ProxmoxVE 的默认安装会创建 local 和 local-lvm 两个存储。其中local大约磁盘容量的10%,存储类别为目录。 大部分容量都给到了 local-lvm,也就是存储类别为 lvm-thin 的LVM精简卷。 前置知识: LVM逻辑卷管理器中,lv逻辑卷中还存在thin pool精简池模式,相当于 ESXI 的精简制备(Thin provisioning); thin pool精简池就是一个存储池,可以在池子的基础再新建lv逻辑卷,也就是thin volume精简卷。 因为考虑空间回收问题,我不想像大多数网上教程一样,把全部存储空间改成目录,下面介绍如何将默认的 local-lvm 存储重建(缩小)。 一条龙命令 #假设你已经有了一个名为 pve 的 LVM 卷组 lvcreate -L 100G -T pve/thinpool lvcreate -V 99G --thin -n thinvolume pve/thinpool #剩下的空间给到目录 lvresize --extents +100%FREE --resizefs pve/root #+100%FREE也可以换成+多少G这种形式。 vim /etc/pve/storage.cfg lvmthin: thinvolume thinpool thinpool vgname pve content images,rootdir 参考我的命令历史: 一、删除默认thinpool精简池 失败操作 root@pve:~# lvremove /dev/pve/data Removing pool "data" will remove 3 dependent volume(s)....

PVE重建 LVM-Thin 精简池

Rclone从安装到长期挂载服务

安装 Linux Rclone官方提供了一键安装脚本: curl https://rclone.org/install.sh | bash apt install -y fuse3 Win scoop install rclone #cd C:\Users\Administrator\scoop\apps\rclone #dir 配置 第一次配置 在终端输入 rclone config 进行配置 rclone config - 进入交互式配置选项,进行添加、删除、管理网盘等操作。 详细操作参见:《Rclone 安装配置教程》 再次重复配置 备份 rclone config file - 显示配置文件的路径,一般配置文件在 ~/.config/rclone/rclone.conf rclone config show - 显示配置文件内容,复制备份 恢复 mkdir -p ~/.config/rclone cat > ~/.config/rclone/rclone.conf <<EOF 《rclone.conf配置文件内容》 EOF 指定rclone配置文件启动 默认配置:/root/.config/rclone/rclone.conf --config /root/.config/rclone/rclone.conf #例如 rclone lsd gd_share: --config=~/.config/rclone/rclone.conf 启动 rclone常用命令 ### 文件上传 rclone copy /home/backup gdrive:backup # 本地路径 配置名字:网盘文件夹路径 ### 文件下载 rclone copy gdrive:backup /home/backup # 配置名字:网盘文件夹路径 本地路径 ### 新建文件夹 rclone mkdir gdrive:backup # 配置名字:网盘文件夹路径 ### 获取文件夹大小 rclone size gdrive:backup # 配置名字:网盘文件夹路径 ### 列表 rclone ls gdrive:backup rclone lsl gdrive:backup # 比上面多一个显示上传时间 rclone lsd gdrive:backup # 只显示文件夹 ### 挂载 rclone mount gdrive:mm /root/mm & ### 卸载 fusermount -u /root/mm #### 其他 #### rclone config - 以控制会话的形式添加rclone的配置,配置保存在....

Rclone从安装到长期挂载服务

MongoDB:副本集读写分离搭建

背景知识 副本集(Replica Set,replSet,复制集)具有自动故障恢复的功能。主从集群和副本集最大的区别就是副本集没有固定的主节点,整个集群会选出一个主节点,当其挂掉后,会在剩下的副节点中选中一个作为主节点,副本集中总有一个活跃节点(primary)和多个备份节点(secondary)。 MongoDB官方已经不建议使用主从模式,代替的方案是采用副本集的模式。 主从模式 其实就是一个单副本的应用,没有很好的扩展性和容错性,而MongoDB副本集具有多个副本保证了容错性,即使一个副本挂掉了还有多个副本存在,主节点挂掉后,整个集群内会实现自动切换 副本集工作原理 客户端连接到整个MongoDB副本集,不关心具体哪一台节点是否挂掉。主节点负责整个副本集的读写,副本集定期同步数据备份,一旦主节点挂掉,副节点就会选举一个新的主节点,而这一切对于应用服务器不需要任何关心。 副本集中副节点在主节点挂掉后通过心跳机制检测到后,就会在副本集内发起主节点的选举机制,自动选举一位新的主节点。 官方推荐的MongoDB副本集机器数量为至少 3 个,即:一主两副 环境准备 因为主机数量有限,这里只用两个副本集部署演示,两台主机:Centos ip地址 主机名 角色 192.168.198.140 mongo-master 副本集主节点 192.168.198.142 mongo-slave 副本集副节点 关闭防火墙: systemctl stop firewalld systemctl disable firewalld 安装MongoDB 安装 wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.8.tgz tar -zvxf mongodb-linux-x86_64-rhel70-4.2.8.tgz mv mongodb-linux-x86_64-rhel70-4.2.8 /usr/local/mongodb cd /usr/local/mongodb mkdir conf data logs touch conf/mongodb.conf touch logs/mongodb.log mkdir -p data/db 编写MongoDB配置文件mongodb.conf #数据存储路径 dbpath=/usr/local/mongodb/data/db #日志存储文件 logpath=/usr/local/mongodb/logs/mongodb.log #运行端口 port= 27017 #守护进程的方式运行MongoDB,创建服务器进程 fork=true #使用追加的方式写日志 logappend=true # 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP bind_ip= 192 .168.198. #使用此设置来配置复制副本集。指定一个副本集名称作为参数,所有主机都必须有相同的名称作为同一个副本集 replSet=repset 启动 [root@mongo-master mongodb]# ....

MongoDB:副本集读写分离搭建

如何打包发布Python包至私有仓库

如何打包发布Python包至私有仓库 Python 中的库(package)可以分为标准库和三方库,标注库是在安装Python后,默认安装的库,如math,json等。其余的库可以称之为三方库,需要在使用前单独安装。我们经常使用到 pip install <package> 这个命令就是用于安装三方库的。这里我们只需要指定包名即可非常简单的实现三方库的安装。那么包存储在什么地方,我们是从何处下载安装的呢? PyPi​ Pip install 命令支持四种来源的安装: PyPI (and other indexes) VCS 本地项目目录 本地/远程 的 archives Python 安装包教程:https://packaging.python.org/tutorials/installing-packages/#installing-packages 首先,我们介绍下什么是PyPi。PyPi 是The Python Package Index 的缩写,是Python社区用来开发和共享软件的一种软件仓库。 一般如果在使用 pip 安装、搜索第三方Python库的时候,默认使用 Pypi源,若是希望使用其余(私有)的源,可以通过 -i/--index-url指定。 -i, --index-url <url> Base URL of the Python Package Index (default https://pypi.org/simple). This should point to a repository compliant with PEP 503 (the simple repository API) or a local directory laid out in the same format. 如经常使用 清华Pypi镜像 加速某些包下载时经常使用如下方式...

如何打包发布Python包至私有仓库

Linux下使用NFS访问群晖文件服务

服务端:群晖 开启NFS服务 文件服务 - NFS权限。服务器名称或IP地址: 192.168.0.1/24 客户端 一条龙命令: #安装nfs服务 yum install nfs-utils -y #显示远程主机共享文件 showmount -e 192.168.x.xx #创建本地目录 mkdir /NFSfile #将远程文件夹挂载到本地目录 mount -t nfs 192.168.1.15:/volume4/Swap /NFSfile -o proto=tcp -o nolock #开启开机挂载 vi /etc/fstab 192.168.x.xx:/volume1/Swap /NFSfile nfs defaults 0 0 安装 apt update apt install nfs-common 查看挂载点 root@debian-11:~# showmount -e 192.168.0.155 Export list for 192.168.0.155: /volume2/HC550_16T 192.168.0.155 /volume1/esxi 192.168.0.8 挂载 注意左下角提示的「装载路径」 使用mount命令: mount -t nfs -o nolock 群晖IP地址:/volume1/video /mnt/挂载路径要先存在 mount -t nfs -o nolock 192....

Linux下使用NFS访问群晖文件服务

SSH应用:ssh隧道

文章来源: https://iguoli.github.io/2018/09/08/OpenSSH-Port-Forwarding.html 以下端口转发命令都可以加上 -f、-N 和 -T 选项,-f 表示让 ssh 进入后台执行命令,-N 表示不执行远程命令,-T 表示不分配终端。 -f Requests ssh to go to background just before command execution. This is useful if ssh is going to ask for passwords or passphrases, but the user wants it in the background. This implies -n. The recommended way to start X11 programs at a remote site is with something like ssh -f host xterm. -N Do not execute a remote command....

SSH应用:ssh隧道

MongoDB笔记:基本介绍

MongoDB笔记:基本介绍 简介: MongoDB 是一个基于分布式文件存储的数据库,是一个介于关系数据库和非关系数据库之间的产品。 跟关系型数据库的一些概念对比 SQL术语/概念 MongoDB术语/概念 说明 database database 数据库 table collection 表/集合 row document 行/文档 column field 字段/域 index index 索引 内存管理 MongoDB使用的是内存映射存储引擎,把磁盘文件的一部分或全部内容直接映射到内存,这样文件中的信息位置就会在内存中有对应的地址空间,内存中主要存储索引+热数据,Mongodb没有单独的内存管理机制,跟随当前的操作系统的内存管理。 Python操作Mongodb 主流的操作mongodb模块 pymongo 安装 pip install pymongo 创建连接对象 from pymongo import MongoClient class MongoDBClient(object): def __new__(cls): if not hasattr(cls, 'instance'): cls.instance = super(MongoDBClient, cls).__new__(cls) return cls.instance def __init__(self): self.params = { 'host': 'localhost', 'port': 27017, 'connect': False, 'maxPoolSize': 2000, "authSource": 'workbench', # 验证数据库 "username": 'cnns', # 用户名 "password": '密码' # 密码 } self....

MongoDB笔记:基本介绍

Dockerfile笔记

DockerFile指令 Dockerfile指令包括: Dockerfile 指令 说明 FROM 指定基础镜像,用于后续的指令构建。 MAINTAINER 指定Dockerfile的作者/维护者。(已弃用,推荐使用LABEL指令) LABEL 添加镜像的元数据,使用键值对的形式。 RUN 在构建过程中在镜像中执行命令。 CMD 指定容器创建时的默认命令。(可以被覆盖) ENTRYPOINT 设置容器创建时的主要命令。(不可被覆盖) EXPOSE 声明容器运行时监听的特定网络端口。 ENV 在容器内部设置环境变量。 ADD 将文件、目录或远程URL复制到镜像中。 COPY 将文件或目录复制到镜像中。 VOLUME 为容器创建挂载点或声明卷。 WORKDIR 设置后续指令的工作目录。 USER 指定后续指令的用户上下文。 ARG 定义在构建过程中传递给构建器的变量,可使用 “docker build” 命令设置。 ONBUILD 当该镜像被用作另一个构建过程的基础时,添加触发器。 STOPSIGNAL 设置发送给容器以退出的系统调用信号。 HEALTHCHECK 定义周期性检查容器健康状态的命令。 SHELL 覆盖Docker中默认的shell,用于RUN、CMD和ENTRYPOINT指令。 通过 Dockerfile 中的这些指令,可以构建出一个完整的Docker 镜像。 1 基础指令 1)FROM 格式: FROM <image> FROM <image>:<tag> 解释:FROM是Dockerfile的第一条而且只能是除了首行注释之外的第一条指令。 2)MAINTAINER 格式: MAINTAINER <name> 解释:指定该Dockerfile文件的维护者信息,类似我们在docker commit时候使用-a参数指定的信息。 3)RUN:(构建镜像) 运行命令(安装环境) 解释:执行命令并创建新的镜像层,通常用于安装软件包 格式: RUN <command> (shell 模式) RUN["executable", "param1", "param2"] (exec 模式:注意需要"双引号") shell模式:RUN echo 1 ——/bin/sh -c ‘1 ' 使用 shell 模式时,docker 会以 /bin/sh -c "task command" 的方式执行任务命令。也就是说容器中的 1号进程 不是任务进程而是 bash进程...

Dockerfile笔记