Skip to main content

· 2 min read
Richard Wang
note

最近发现Proxmox VE 8.0已经发布了,作为尝鲜档忍不住升级了一下,记录一下升级过程。

官方升级文档
Upgrade from 7 to 8 - Proxmox VE
  1. 首先删掉无关的源

    搭建初期使用过pvetools,在/etc/apt/sources.list.d目录下生成过软件源的文件,因为升级 8.0 后,系统会升级到 Deian12,之前的源不再适用,所以直接删除。

    rm /etc/apt/sources.list.d/*
  2. 修改 /etc/apt/sources.list 文件为官方源

    如果没有特殊网络环境的话,此处可以替换为国内源。

    vi /etc/apt/sources.list
    deb http://ftp.debian.org/debian bookworm main contrib
    deb http://ftp.debian.org/debian bookworm-updates main contrib

    # Proxmox VE pve-no-subscription repository provided by proxmox.com,
    # NOT recommended for production use
    deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription

    # security updates
    deb http://security.debian.org/debian-security bookworm-security main contrib
  3. 添加 Ceph 源

    这个源不添加会可能会报错

    vi /etc/apt/sources.list.d/ceph.list
    deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription
  4. 开始升级

    apt update
    apt dist-upgrade

    过程中会多次跳出确认提示,均选择 OKY 回车即可。执行完成后,输入以下命令查看版本号,如果显示为 8.0 则升级成功。

    pveversion
  5. 集群升级

    我这里是一共三个节点构成的集群,一台是软路由平台,一台服务部署的正式环境,另一台作为测试环境的主机。 如果大家像我一样由3台以上主机建立了PVE集群,那么需要将集群中的每台主机完成以上升级,才能在集群界面中看到最新的版本号。

· One min read
Richard Wang
note

Docusaurus没有自带搜索功能,需要使用第三方插件,一种是通过Algolia实现,另一种是通过本地搜索实现。本文介绍如何使用本地搜索插件。

tip

插件选择easyops-cn/docusaurus-search-local,为中文搜索做过优化,且最近维护日期也比较新。

项目地址:@easyops-cn/docusaurus-search-local

安装插件

yarn add @easyops-cn/docusaurus-search-local

配置插件

docusaurus.config.js
  themes: [
[
require.resolve("@easyops-cn/docusaurus-search-local"),
/** @type {import("@easyops-cn/docusaurus-search-local").PluginOptions} */
({
hashed: true, // 是否对搜索结果进行hash
language: ["en", "zh"], // 搜索语言
indexDocs: true, // 是否对docs进行索引
indexBlog: true, // 是否对blog进行索引
indexPages: false, // 是否对pages进行索引
docsRouteBasePath: ["/docs","/linux","/services"], // 配置需要搜索的文档路径
}),
],
],

本地预览效果

npm run build
npm run serve

· One min read
Richard Wang
note

因为众所周知的原因,Gitlab的Gravatar头像在国内无法显示,本文记录如何解决这个问题。

找到国内Gravatar镜像

修改 gitlab.rb 配置

info

由于前期使用Docker安装,gitlab.rb 文件位于宿主机的 /srv/gitlab/config 路径中。

gitlab_rails['gravatar_plain_url'] = 'https://cdn.sep.cc/avatar/%{hash}?s=%{size}&d=identicon'
gitlab_rails['gravatar_ssl_url'] = 'https://cdn.sep.cc/avatar/%{hash}?s=%{size}&d=identicon'

· 2 min read
Richard Wang
note

因为Github网络访问不稳定,所以在家里部署了一个Gitlab,但又想用Github作为分享平台,因此需要实现Github与本地Gitlab的自动同步。

创建 Personal Access Token

在Github的Settings->Developer settings->Personal access tokens中创建一个新的Token,注意勾选repo权限。

导入Github原有仓库到Gitlab

info

如不需要导入Github上的原有仓库,可跳过此步骤。

在新建项目时选择导入项目,输入上述生成的Personal access tokens连接Github,选择需要导入的仓库和目标位置即可。

tip

若Gitlab导入仓库功能提示未开启,可在管理员设置中Settings->Visibility and access controls中将Import sources设置为Enabled

配置镜像仓库

在Gitlab仓库的设置中,选择Repository->Mirroring repositories,填入Github仓库的地址和上述生成的Personal access tokens,选择Mirror directionPush,点击Mirror repository即可完成配置。

caution

Github仓库地址的格式为https://username@gitlab.company.com/group/project.git,注意不要遗漏其中的username@

至此,Github与Gitlab的自动同步配置完成。当Gitlab仓库发生变更时,Github仓库会自动同步更新。也可以手动点击Update now进行同步。

· 2 min read
Richard Wang
Note

在浏览Docusaurus官方推荐的案例中,发现了一个很好看的卡片连接的样式,Copy一下实现过程。

样式的参考的链接如下

Clutch说明文档
Clutch is a modular, extensible platform for infrastructure management.

创建LinkCard组件

创建LinkCard样式文件夹

在项目目录src/components文件夹下创建LinkCard文件夹。

创建index.tsx文件

src/components/LinkCard/index.tsx
// @ts-ignore
import React from "react";
// @ts-ignore
import Link from "@docusaurus/Link";
// @ts-ignore
import type { Props as LinkProps } from "@docusaurus/Link";

import "./styles.css";

interface LinkCardProps extends Pick<LinkProps, "to"> {
title: string;
description: string;
}

const LinkCard = ({ to, title, description }: LinkCardProps): JSX.Element => (
<Link className="lc-container" to={to}>
<div className="lc-title">{title}</div>
<div className="lc-description">{description}</div>
</Link>
);

export default LinkCard;

创建styles.css文件

src/components/LinkCard/styles.css
.lc-container {
border: 1px solid var(--ifm-color-emphasis-300);
border-radius: var(--ifm-global-radius);
padding: 0.75rem;
font-size: 1rem;
margin-bottom: 0.5rem;
max-width: 45em;
display: block;
}

.lc-container:hover {
border-color: var(--ifm-color-primary);
text-decoration: none;
}

.lc-title {
font-weight: 600;
margin-right: 0.5em;
}

.lc-description {
font-size: 0.875rem;
color: var(--ifm-font-color-secondary);
}

使用LinkCard组件

在md文件中引入LinkCard组件

import LinkCard from '@site/src/components/LinkCard';

<LinkCard title="<title>" description="<description" to="<URL or filepath>"></LinkCard>

· 2 min read
Richard Wang
danger

服务器安装后,发现风扇速度很有规律的在高低转速之间变化。查看主板IPMI日志发现如下的错误

FANA Fan Lower Critical – Going Low – Assertion FANA Fan Lower Non-Recoverable – Going Low – Assertion

判断原因为风扇转速太低造成的风扇低速报警,在产生报警后,风扇会以满速运行一段时间,直到测速发现一切正常,再次降低转速,并最终导致这种规律的报警。

在一台Linux主机上安装 ipmitool

yum install ipmitool

调整风扇转速警报线

查看所有的风扇名称和默认配置

tip

注意将以下命令中的 -H [IP Address] -U [UserID] -P [Password],更换为自己服务器的 IPMI IP地址、用户名和密码。

ipmitool -H 192.168.100.100 -U ADMIN -P PASSWORD sensor list all
note

运行后发现,超微默认的风扇下限阈值是300 500 700,而风扇的最低转速在100多转,低负载下很容易低于警告线,触发报警。

逐个设置风扇的警报线

tip

风扇警报线根据自己服务器和风扇的实际情况调节。我这里由于刚组装完成,服务器几乎无负载,就先把下线调到了100,带后续负载上来以后再调高。

ipmitool -H 192.168.10.100 -U ADMIN -P PASSWORD sensor thresh FANA lower 100 100 100

最后重新执行上述查看命令,检查配置是否生效并观测警报问题是否解除。

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

· One min read
Gao Wei

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet