HP Microserver Gen8 双网口搭建All In One
近期SSD降价比较厉害,故于拼多多以209一块的价格购入两块1T SSD,重新搭建环境的同时记录一下
说明
- 主路由采用iKuai,单臂路由使用iWRT,通过Ubuntu安装Samba以及基于K3s的emby部署实现All in One
适用范围
- 基于x86架构且至少有两个物理网口的终端(未确认单网口是否能通过SRIOV实现);
- 有一定的Linux使用基础。
硬件信息
部件 | 型号 | 数量 |
---|---|---|
CPU | E3 1260L | 1 |
内存 | HPE SmartMemory 8G | 2 |
硬盘 | 幻隐 HS2000 | 2 |
阵列卡 | embedded B120i | 1 |
网卡 | embedded HP Ethernet 1Gb 2-port 332i Adapter | 1 |
软件信息
- 基于VMware ESXi 6.5U2搭建虚拟化环境
- 规划如下:
IP | 虚拟机 | 备注 | 资源 |
---|---|---|---|
10.1.1.1 | iKuai | 主路由 | 2vCPU 2G RAM 4G Storage |
10.1.1.2 | iWRT | 单臂路由 | 2vCPU 2G RAM 2G Storage |
10.1.1.3 | ESXi Management | ESXi管理 | Unavailable |
10.1.1.4 | iLO | BMC | Unavailable |
10.1.1.5 | Ubuntu 20.04 | SMB服务以及Emby | 2vCPU 4G RAM 1.2TB Storage |
ESXi安装
- 前往ESXi HPE定制镜像下载ESXi镜像,注意需要VMware账户;
- 使用iLO Remote Console挂载ISO并引导安装;
- 安装完成后F2进入设置配置management network静态IP【可选】
ESXi 网络规划
- 现存如下网络:
- vSwitch设置如下:
- external network:
- vSwitch0:
- external network:
虚拟机部署
iKuai
- 下载页面:点击访问
- 下载完成后上传至ESXi的存储中,并创建虚拟机
- 启动后,设置网卡绑定、WAN口以及LAN口地址 - 登录Web GUI创建DHCP地址池
iWRT
-
下载点击,下载完成后解压得到IMG文件
-
选择Local file:
-
选择解压后的img文件,点击Next
-
选择Remote VMware ESXi Server or vCenter
-
输入ESXi的管理IP以及用户名和密码, 点击Create a new Virtual Machine对硬件规格进行配置:
-
创建完成后打开虚拟机,编辑配置文件 /etc/config/network设置LAN地址,设置完成后打开Web GUI关闭DHCP
Ubuntu
- 下载地址:点击访问
- 安装过程略
Samba安装以及配置
- 安装Samba
sudo apt-get install samba samba-common
- 创建共享目录
sudo mkdir share
sudo mkdir share/movies
sudo mkdir share/tvshows
- 配置samba用户
sudo useradd <用户名> # 如果使用已存在用户则跳过此步骤
sudo smbpasswd -a <用户名>
- 配置Samba
sudo vim /etc/samba/smb.conf
在最底部添加如下内容:[share]
comment = samba server
path = </home/bailongfei/share # 第2步创建的文件夹的绝对路径,可通过pwd命令查看
browseable = yes
writeable = yes
available = yes
valid users = bailongfei # 第3步配置的用户 - 重启Samba服务
sudo service smbd restart
- 在电脑或其他终端添加网络文件夹
在Windows文件管理器中输入\linux ip 便可以看到linux samba服务共享的文件夹
- 映射磁盘以便于使用以及管理
这台电脑 ->右键 ->映射网络驱动器,文件夹输入框输入\linux ip\共享名,不能直接输ip,一定要加上共享名,点击完成
部署emby
- 安装K3s,参考页面
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
- 部署完成后创建emby的namespace:
sudo kubectl create ns embymedia
- 检查一下:
- 创建emby的YAML:
apiVersion: v1
kind: Namespace
metadata:
name: emby
labels:
name: emby
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: embyconfig
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 10Gi
persistentVolumeReclaimPolicy: Retain
accessModes:
- ReadWriteOnce
hostPath:
path: /storage/k8sConfig/emby
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: emby-config-claim
namespace: embymedia
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
volumeName: embyconfig
resources:
requests:
storage: 4Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: emby
namespace: embymedia
spec:
template:
metadata:
name: emby-app
labels:
name: emby-app
spec:
volumes:
- name: emedia
hostPath:
type: Directory
path: /home/bailongfei/share
- name: econfig
persistentVolumeClaim:
claimName: emby-config-claim
containers:
- name: emby
image: emby/embyserver
env:
- name: UID
value: "1000"
- name: GID
value: "1000"
volumeMounts:
- name: econfig
mountPath: "/config/"
- name: emedia
mountPath: "/media/"
imagePullPolicy: IfNotPresent
replicas: 1
selector:
matchLabels:
name: emby-app
---
apiVersion: v1
kind: Service
metadata:
name: emby-service
namespace: embymedia
spec:
type: NodePort
ports:
- name: emby-web
port: 8096
targetPort: 8096
nodePort: 30030
selector:
name: emby-app
注意:如图所示路径应为Samba分享的目录,需自行结合实际情况确认
5. 部署
kubectl create -f emby.yaml
6. 等待部署完成后通过host-ip:30030即可访问