ESXi6 虚拟机 IO 直通

客户端OS: Debian12 AMD64

网络适配器: VMXNET 3

虚拟机分配内存: 8G

内存资源分配: 全部锁定

Note:

E1000 不支持直通

虚拟机内存太小(4G),不支持直通,出现错误:已连接网络的状况阻止directpath i/o

刚知道,VMWARE 已经Game Over了

昨日,打算修改一个ESXi虚拟机的配置,WEB CLIENT下没找到修改的地方,就想启动Windows 客户端来试试,结果发现,已经无法下载客户端了。

Google搜寻一下,才知道,VMware已于去年(2024年)被Broadcom博通收购了,呜呼哀哉,世界变化真快,前几年,VMware还雄心勃勃,想在私有云领域大展宏图呢!

被博通收购,在我的脑海中,直观上就是完蛋了,博通只是一家芯片公司,而且主要是外设芯片,不是整机系统,缺乏软件基因。

在路由器领域,相比于高通,MTK,对OPENWRT的支持最糟糕,所以,采用博通芯片的,全部避开。

ESXi和VMware虚拟软件,是购置HP 的Gen8 MicroServer 时,随机赠送的,后来,就懒得改用开源的Docker或K8了,查看一下,发觉快满十年了。

作为一个纯芯片公司,只有快速,当下的交易,没有持续服务的理念。

4万台服务器要瘫?Tesco为啥这时候硬刚博通,VMware到底是啥,为啥能让超市急红眼?纯真世界存在吗

acme.sh with Google SSL certificate

Acme.sh issue SSL certificate with Google

Install acme.sh

    sudo su
    source ~/env.sh
    env|grep proxy|grep http

    curl https://get.acme.sh|sh
    exit
    sudo su
    source ~/env.sh
    source /root/.acme.sh/acme.sh.env
    acme.sh --set-default-ca --server google

Generae EAB:

# Must install Google Cloud SDK first
gcloud publicca external-account-keys create

Register Account:

acme.sh --register-account -m admin@zhenglei.net --server google --eab-kid "your KeyId" --eab-hmac-key "your b64MacKey"

Issue:

sudo su
   
   # Stop services listen 80/443 port
   #/opt/local/etc/init.d/openresty stop
  
   source ~/env.sh
   source /root/.acme.sh/acme.sh.env

   # Only have IP v6 public Address
   acme.sh  --issue  -d blog.zhenglei.net  --standalone --listen-v6

Install Google Cloud SDK on Debian system

Install google-cloud-cli

sudo su

source ~/proxy.sh
env|grep proxy|grep http

apt-get update
apt-get install apt-transport-https ca-certificates gnupg  curl socat

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg

echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

apt-get update
apt install google-cloud-cli
gcloud init

godaddy 停止支持acme.sh的dns 模式

昨日从微信打开blog.zhenglei.net网站,出现了不信任提示

仔细用各个浏览器测试,发现的问题是:

最近在blog中直接使用了一些gallery.zhenglei.net中的图片,而因为偷懒,gallery没有配置证书,用的是http模式。

将gallery也配置成https模式后,浏览器直接打开,没有问题了。

但微信打开依然存在问题。

对我而言,微信打开有问题是个好事,说明微信对blog.zhenglei.net信任度增加了,开始使用微信内置浏览器来处理了。

微信对于外部网站,有自己的信任规则,经常变化的规则。

完全不信任的,提出警告

其次,不显示图标,用外部浏然器。

再其次,显示图标,用外部浏然器

最后是,显示图标,用内部浏然器

然而,证书哪个方面有问题,不得而知。

只好,借助于百度和谷歌,全网搜索了

有篇文章谈到了,微信的证书要求比较严格,不支持凡泛域名证书,而我恰恰用了泛域名证书。

先把证书换成最简单的独立域名证书试试。

于是,开始重新申请证书。

我的域名在godaddy托管。重新开始用acme.sh申请证书,却发现一直失败,godaddy返回出错信息。

检查了acme.sh的版本,有点过时了。

升级到最新版本,并全部重新编译系统,确保不会因为多次直接修改系统,而带来潜在问题。

然而没用,问题依旧。

百度,谷歌搜索,也不清楚原因。

最后,打开acme的文档,才发现问题所在:

godaddy从去年开始,只有满足两个条件之一,才允许使用acme来申请证书:

条件1是买了他家10个域名

条件2是缴费成为会员。

典型的店大欺客,太垃圾了:

不支持没有关系,可以理解:

免费证书显然影响了收费证书业务,又增加了网络带宽和算力的消耗

但应该在网站上明确说明,而不是支持时大肆宣传,关闭时偷偷默默。

江湖救急,在低价的ssls.com申请了一个证书,先用起来。

有一月的试用期。到时再决定是付费,还是继续换成免费的证书

音流

音流是国人近期开发的一个音乐播放器

与Tempo(老外开发)一样,需搭配NAS或自建服务器使用。

界面简洁,支持现在主流的各种音乐服务, 包括Subsonic,Navidrome.

由于采用了跨平台的开发技术,音流有安卓手机,苹果手机,Mac OS, Windows OS各个版本

同样也支持subsonic的同步歌词

小众产品,需要到其官网下载

https://music.aqzscn.cn/

Tempo是开源的,也是免费的,在F-Droid中下载。

音流是闭源的,部分功能收费

音流界面截图

音乐欣赏

孙露 冰吻

Eagles 加州旅馆

蔡琴 出塞曲

祖海 音乐殿堂

播放有困难?

都是高码率音源,带宽有要求
IPv4需要绕道香港转发,而且带宽很低,顺利播放困难较大
IPv6直连
按照协议规定,同时支持IPv4和IPv6时,自动首选走IPv6
在上海,除了东方有线,电信/联通/移动宽带都支持IPv6。

如果家庭宽带连接下,播放有问题,大概率应该更换路由器了。

MusicTag Web & Tempo

音乐刮削软件

所谓音乐刮削,是指自动从互联网获取信息,修改音乐文件的元数据,如标题、图片、演员/歌手、歌词等

有两个流行的音乐刮削软件,MusicTag和MusicTag Web。

前者是windows 平台下的刮削软件

后者是服务器端的刮削软件,并在浏览器上操纵执行。这个软件更加方便,配置好了,可以在需要时,随时从手机中进行处理。

安装Music Tag Web

Docker方式安装,非常方便,但对于国内用户,由于docker hub不易访问,而国内的镜像源也于去年全部停止了,需要想其它方式来安装:

先在镜外VPS上 Pull Image 安装,并export image,再在家中的服务器或NAS上 import image。

应用

在虚拟机上安装好MusicTag Web,并设置好对应的域名和网址后,就可以从任意的手机或PC访问了

有两个版本,V1免费,V2收费

对我而言,V1够用了

http://musictag.zhenglei.net/


Tempo

Tempo 是Android平台上,开源的Subsonic 轻量级客户端,老外开发的。

支持歌词同步显示,没有广告。

可在F-Droid 中下载。

歌词显示,是Tempo apk,subsonic 客户端的一个功能,分享到其它应用,是由subsonic 服务端提供的,这里是Navidrome,不支持歌词显示

Temp 歌词 Demo

Install music-tag-web on debian system

Remote debian system

ssh remote.zhenglei.net
sudo su
docker pull xhongc/music_tag_web:latest
docker images
docker save -o music_tag_web.tar  xhongc/music_tag_web:latest

Local debian system

ssh local.zhenglei.net
scp remote.zhenglei.net:/${YOUR_PATH}/remote.zhenglei.net .
sudo su
docker load < music_tag_web.tar
docker image ls

Launch

sudo su
./music_tag_web.sh

cat music_tag_web.sh

#!/bin/bash
PORT=8001:8001
DATA=/Music
CFG=/docker/music/config

MTAG=xhongc/music_tag_web:latest

if [ ! -d ${CFG} ];then
  mkdir -p ${CFG}
fi

if [ ! -d ${DATA} ];then
  mkdir -p ${DATA}
fi

docker run -d -p ${PORT} -v ${DATA}:/app/media -v ${CFG}:/app/data --restart=always ${MTAG}

Verify

http://yor_ip:8001

default login: admin:admin

Stop

sudo su
docker stats
docker stop  $(docker ps -q)

Install ffmpeg

sudo apt-get instgall ffmpeg
which ffmpeg
# cd ${CFG}/bin
cd /docker/music/config/bin
sudo ln /usr/bin/ffmpeg

Install docker on Debian

sudo apt update

sudo apt upgrade

sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg2

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

sudo apt update
sudo apt install docker-ce


sudo usermod -aG docker $USER