PVE添加lvm-thin-pool创建lvm-thin存储

0.环境说明:

①操作系统:PVE 8.1.3

②硬件配置:空闲磁盘数量大于1

③PVE存储格式说明(引用佛西博客):https://foxi.buduanwang.vip/linux/2044.html/

1.创建LVM-THIN-POOL:

lsblk #列出所有可用块设备
pvcreate /dev/sda  #创建物理卷 
vgcreate thin-pool /dev/sda #创建逻辑卷组 thin-pool 
#若要将多个物理卷加入卷组,则后跟多个物理卷  vgcreate thin-pool /dev/sda /dev/sdb
lvcreate -T thin-pool/data -l +100%FREE #创建逻辑卷,分配卷组空间给逻辑卷

2.在PVE添加LVM-THIN存储:

注意填写存储ID和节点名称

ChatGPT无法访问的解决方法

0.说明

适用于V2ray等工具、软路由

本文只讲方法,不讲原理,原理都可以搜到,不再赘述

1.线路问题

首先在服务端检查能否访问chatgpt

bash <(curl -L -s check.unlock.media)

可以运行如上开源脚本,看到Chatgpt YES ,则确定服务端支持

线路问题则 尝试更换线路,避免使用香港、日本等亚洲节点。

2.浏览器配置问题

关闭 WebRTC  和 QUIC.

这里以 chrome浏览器为例:
访问chrome://flags/

将:

Experimental QUIC protocol

Anonymize local IPs exposed by WebRTC.

两个选项置为disabled

relunch

清除浏览器缓存

3.禁用IPV6(WIN)

(此方法用于PING chatgpt.com 显示地址为IPV6的情况)

在WIN网络适配器中,找到当前链接的IPV6,取消勾选即可

迷你主机安装PVE8.1,开启网络唤醒

0.环境说明:

①操作系统:空,PVE官网下载(直达链接

②硬件配置:AMD 5800H + DDR4 2666 16G *2 + 1T NVME PCIE3.0

③写入工具:rufus 4.4.2013

1.U盘写入:

选择镜像后点击开始,此版本刷PVE会强制使用DD模式,完成后拔出U盘插入主机

2.启动安装:

选择 Install Proxmox (Graphical)

先会在黑屏阶段运行一段时间

后续配置语言、安装位置、网络IP信息等后结束重启

3.开启网络唤醒:

网络唤醒的可以在进入主板时按Del键,将NetStack 置为 Enable

进入系统,输入下面的命令查看ethtool的位置

whereis ethtool 

我这里的位置是/usr/sbin/ethtool

修改/etc/rc.local

/etc/rc.local

为如下内容:

#!/bin/bash
/usr/sbin/ethtool -s enp1s0 wol g
exit 0

其中 /usr/sbin/ethtool 为ethtool地址 , enp1s0 为网卡名称

保存后退出,重启系统

reboot

进入系统后,查看网卡状态

ethtool enp1s0

其中Wake-on: g ,则为开启成功

4.去除订阅提醒:

先删除企业源

rm /etc/apt/sources.list.d/pve-enterprise.list
rm /etc/apt/sources.list.d/ceph.list

安装pvetools

apt dist-upgrade -y 
apt-get update
export LC_ALL=en_US.UTF-8 apt update && apt -y install git && git clone https://github.com/ivanhao/pvetools.git

打开pvetools

cd pvetools/ && ./pvetools.sh 

如图所示,硬件直通,换源,去除订阅都可以在此配置

PVE导入virtualbox镜像

0.环境说明:

①操作系统:PVE7.2-3

②ROOT 权限

③OVA文件

1.上传OVA镜像文件

从网上下载,或者从virtual box 下载到的ova文件

登陆SSH,把下载的ova文件上传PVE,如图test.ova

解压该ova文件

tar -xvf test.ova

2.PVE建立虚拟机

VIMID 为 123 (注意不要和之前的ID冲突即可),操作系统→不使用任何介质,磁盘保持默认即可,CPU、内存和网络根据实际情况进行选择。

3.分离和导入硬盘

在PVE面板选择刚刚创建的虚拟机(123),在硬件选项卡选择硬盘,然后点击分离,然后删除未使用的磁盘。

接下来导入解压后的磁盘。

qm importdisk 123 test-disk001.vmdk local-lvm -format qcow2

其中 123是节点号,test-disk001.vmdk 是 解压后的磁盘名 ,local-lvm 是pve的存储空间名称。

Centos 7 挂载本地iso镜像源(yum)挂载SMB文件夹

0.环境说明:

①操作系统:centos7.9.2009

②ROOT 权限

1.挂载镜像:

mkdir -p /data/iso   #建立镜像上载目录
mkdir -p /mnt/cdrom #建立镜像挂载目录

下载镜像源iso,并上传到上载目录

mount -o loop /data/iso/CentOS-7-x86_64-Everything-2009.iso data/yum/local #临时挂载
vi /etc/fstab #永久挂载,写入下行内容
/data/iso/CentOS-7-x86_64-Everything-2009.iso /mnt/cdrom iso9660 defaults 0 0
vi /etc/yum.repos.d/local.repo  #创建镜像源文件,写入如下内容
#local.repo文件内容
[local]
name=local
baseurl=file:////mnt/cdrom #挂载路径
enabled=1 #启用该yum源
gpgcheck=0#本地挂载不涉及数字签名问题,将gpgcheck值设置为0,表示不检查数字签名
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7# 在挂载路径下查看

2.切换到本地源:

备份在线源文件

mkdir /etc/yum.repos.d/bak
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo –t bak

测试源是否可用

yum clean all
yum makecache

3.安装SMB服务:

yum install -y cifs-utils
 mkdir -p /data/smb 
mount -t cifs -o dir_mode=0755,file_mode=0755,username="username",password="your password" //smbip/share/ /data/smb

永久挂载方式,修改/etc/fstab文件

//smbip/share /data cifs defaults,username='username',password='your password'     0 0 

centos7.4 安装jenkins集成工具

0.环境说明:

①操作系统:centos7.4

②ROOT 权限

官网地址:https://www.jenkins.io/

1.安装Jenkins依赖:

更新

yum install -y ca-certificates   #更新证书,否则无法进行下一步
sudo wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
sudo yum upgrade
# Add required dependencies for the jenkins package
sudo yum install java-17-openjdk #此处安装失败后则需要单独安装jdk 17
sudo yum install jenkins
sudo systemctl daemon-reload

安装openjdk-17

wget https://download.oracle.com/java/17/archive/jdk-17.0.8_linux-x64_bin.tar.gz 
tar -xvf jdk*.gz
mv jdk-17.0.8 /usr/java
ln -s /usr/java/bin/java /usr/bin/java
sudo yum reinstall jenkins

配置环境变量,在/etc/profile最后加入

export JAVA_HOME=/usr/java
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

使环境变量生效:

source /etc/profile
java -version    #查看当前JDK版本

2.启动Jenkins:


1
sudo systemctl enable jenkins
#开机启动
1
sudo systemctl start jenkins
#启动jenkins
1
sudo systemctl status jenkins
#查看jenkins状态

初始化jenkins

cat /var/lib/jenkins/secrets/initialAdminPassword #访问时输入

访问方式

localhost:8080

更多:

防火墙配置参考:

jenkins 其它配置:

修改操作用户为root 修改 /etc/sysconfig/jenkins

JENKINS_USER="jenkins"  #jenkins修改为root

赋予目录权限

chown -R root /var/log/jenkins
chgrp -R root /var/log/jenkins
chown -R root /var/lib/jenkins
chgrp -R root /var/lib/jenkins
chown -R root /var/cache/jenkins
chgrp -R root /var/cache/jenkins

3.Jenkinsj节点配置问题:

在建立除master节点以外的其它节点,首先要保证两端的JAVA版本一致

遇到问题:“lib/jenkins/.ssh/known_hosts [SSH] No Known Hosts file was found at /var/lib/jenkins/.ssh/known_hosts.”

在节点管理页面修改认证机制:

Docker 安装penpot原型图设计工具

0.环境说明:

①操作系统:truenas

②ROOT 权限

③vDocker version 20.10.12, build e91ed57

Penpot是一款类似于Figma的原型图设计工具,是一款免费开源的软件,并支持本地化部署

官方指导手册

1.安装docker-compose:

su -
wget https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64
mv docker-compose-linux-x86_64 docker-compose
mv docker-compose /bin
chmod +x docker-compose
docker-compose --version #显示docker版本

2.配置yaml文件:


1
<strong>wget</strong> https://raw.githubusercontent.com/penpot/penpot/main/docker/images/docker-compose.yaml
vi
1
docker-compose.yaml

根据需要修改yaml文件:

 - PENPOT_PUBLIC_URI= #填入外部访问的域名地址

修改前端访问端口:

  penpot-frontend:
    image: "penpotapp/frontend:latest"
    restart: always
    ports:
      - 8000:80 #修改8000为你想要的端口

    volumes:
      - penpot_assets:/opt/data/assets

    depends_on:
      - penpot-backend
      - penpot-exporter

    networks:
      - penpot

    labels:
      - "traefik.enable=true"

修改postgres端口:

  penpot-postgres: 
    image: "postgres:15" 
    restart: always 
    stop_signal: SIGINT 
    ports: 
      - 8000:5432  #修改8000为宿主机可用端口
    volumes: 
      - penpot_postgres_v15:/var/lib/postgresql/data

修改注册信息:

- PENPOT_FLAGS=enable-registration enable-login-with-password disable-email-verification enable-smtp enable-prepl-server

修改注册邮箱:

      - PENPOT_SMTP_DEFAULT_FROM=service@wolfmark.org #你的邮箱
      - PENPOT_SMTP_DEFAULT_REPLY_TO=service@wolfmark.org #你的邮箱
      - PENPOT_SMTP_HOST= mail.wolfmark.org #邮箱服务器地址
      - PENPOT_SMTP_PORT=  #此处填写smtp端口
      - PENPOT_SMTP_USERNAME=service@wolfmark.org #你的邮箱
      - PENPOT_SMTP_PASSWORD= #smtp验证
      - PENPOT_SMTP_TLS=false 
      - PENPOT_SMTP_SSL=false

3.拉取镜像:

docker-compose -p penpot -f docker-compose.yaml up -d #启动
拉取完成

最后访问前端页面,安装完成

docker-compose -p penpot -f docker-compose.yaml down #关闭 docker镜像

凝思(debian)系统LVM格式磁盘扩容方法(virtual box)

0.环境说明:

①凝思6.0.80

②ROOT 权限

③virtual box 7.0.8虚拟化平台

注:本教程略作修改可以作为其它操作系统或者虚拟化平台使用

1.virtual box 增加虚拟硬盘:

虚拟机处于关闭状态

选择,管理→工具→虚拟介质管理

拖动滑动条修改磁盘大小

打开虚拟机

su        #切换到root用户
fdisk -l  #查看新的磁盘大小是否生效

2.将增加的空间分配到LVM分区:

将新加入物理卷加入

fdisk /dev/sda #选择n创建新的分区,类型为p,编号选择3 firtsSector 选择默认  LastSector 选择 +XG(上一步预分配G)
w #保存
fdisk /dev/sda 
t #制定分区类型
3 # 默认
8e # LVM格式
w #保存
pvcreate /dev/sda3 #创建一个新的Physical volume物理卷
pvscan #查看物理卷还未分配给卷组
vgextend vg01 /dev/sda3 #将sda3分配给卷组vg01

修改卷组大小

pvscan
lvextend -l +100%FREE /dev/mapper/vg01-home #然后修改卷组的大小

完成磁盘分配

resize2fs /dev/mapper/vg01-home
xfs_growfs /dev/mapper/vg01-home #zfs文件系统使用下面这条命令

Linux Core文件显示配置

1.临时配置

①查看生成core文件的开关是否开启,输入命令

 ulimit -a

第一行代表core文件大小为0,表示没有开启core文件。

②临时开启core文件

如果需要临时开启core文件,则使用ulimit -c xxx来制定,ulimit -c unlimited 表示无限,ulimit -c +数值,表示core文件限制为多少k,如 ulimit -c 100 ,代表限制core文件大小为100K,操作方法如下图所示:

不过这样生成的core文件仅在当前终端有效,如果需要所有系统程序都生成core文件,需要配置永久生成core文件。

2.配置永久core文件

①修改配置文件

使用root用户登录,并修改/etc/profile,这样在linux每次启动的时候就会自动加载其中的内容,所以也是重启后生效。

su -
vi /etc/profile
ulimit -c 100000
:wq!

相当于允许生成100000k的单个core文件。

②指定core文件生成地址和文件名

su -
vi /etc/sysctl.conf
kernel.core_pattern=/home/ghost/core/core_%e_%p_%t #ghost是当前用户目录,可以根据你的需要定义目录地址
kernel.core_uses_pid=0
:wq!
sysctl -p /etc/sysctl.conf   #立即生效

core_pattern的命名参数如下:

%c 转储文件的大小上限

%e 所dump的文件名

%g 所dump的进程的实际组ID

%h 主机名

%p 所dump的进程PID

%s 导致本次coredump的信号

%t 转储时刻(由1970年1月1日起计的秒数)

%u 所dump进程的实际用户ID

3.测试配置是否生效

执行命令 

kill -s SIGSEGV $$ 

查看core文件目录

ll /home/ghost/core

可以看到/home/ghost/core下生成了一个core文件,然后就可以使用gdb命令进行相关调试了。

凝思(debian)非ROOT用户使用wireshark 同时监控IP和端口

1.非Root用户使用wireshark

Wireshark没有权限使用dumpcap进行截取封包,所以需要改变/usr/share/dumpcap的group,添加一个group:wireshark,chgrp到wireshark组,再改成4755权限,这样方便权限控制,具体步骤如下:

①添加用户组,我以wireshark为例

sudo groupadd wireshark

②将dumpcap更改为wireshark用户组

sudo chgrp wireshark /usr/bin/dumpcap

③让wireshark用户组有root权限使用dumpcap

sudo chmod 4755 /usr/bin/dumpcap

④将自己加入wireshark用户组(ghost为你当前用户)

sudo gpasswd -a ghost wireshark

2.使用IP地址和port抓取数据

在窗口中输入

ip.src == 127.0.0.1&&(tcp.port == 80|| udp.port == 80)

代表抓取IP地址为127.0.0.1,端口为80的TCP和UDP协议数据