阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

DRBD+Heartbeat 解决NFS单点故障

424次阅读
没有评论

共计 12413 个字符,预计需要花费 32 分钟才能阅读完成。

1.1  环境准备
1.1.1          添加新磁盘,分区并格式化

fdisk -uc /dev/sdb
mkfs.ext4 /dev/sdb1
dd if=/dev/zero of=/dev/sdb1bs=1M count=1

1.1.2          在 hosts 文件中添加以下记录

cat /etc/host
172.16.1.111 test01
172.16.1.112 test02
172.16.1.113 web

1.1.3          关闭 selinux 和 iptables

setenforce 0
/etc/init.d/iptables stop

1.1.4          测试约定

主机名,系统版本及内核版本:

[root@test01 ~]# uname -nr
test01 2.6.32-573.el6.x86_64
[root@test01 ~]# cat /etc/RedHat-release
CentOS release 6.7 (Final)

[root@test02 ~]# uname -nr
test02 2.6.32-573.el6.x86_64
[root@test02 ~]# cat /etc/redhat-release
CentOS release 6.7 (Final)

[root@web ~]# uname -nr
web 2.6.32-573.el6.x86_64
[root@web ~]# cat /etc/redhat-release
CentOS release 6.7 (Final)

测试 IP:

test01 172.16.1.111
test02 172.16.1.112
web  172.16.1.113
虚拟 IP 172.16.1.100

1.2  DRBD 的安装
1.2.1          配置 DRBD
默认官方源中没有 drbd 软件,所以使用 elrepo 源

[root@test01 ~]# rpm –importhttps://www.elrepo.org/RPM-GPG-KEY-elrepo.org
[root@test01 ~]# rpm -Uvhhttp://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
Retrieving http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
Preparing…              ########################################### [100%]
  1:elrepo-release        ########################################### [100%]
[root@test01 ~]# yum installdrbd84-utils kmod-drbd84 -y

[root@test01 ~]# modprobe drbd
[root@test01 ~]# lsmod|grepdrbd
drbd                  365931  0
libcrc32c              1246  1 drbd

编辑配置文件

[root@test01 ~]# vim/etc/drbd.conf
# You can find an examplein  /usr/share/doc/drbd…/drbd.conf.example
#include”drbd.d/*.res”;
global{
    usage-count no;
}
common{
    syncer{
        rate 200M;
    }
}
resource r1 {
      protocol C;
      startup{
          wfc-timeout 120;
          degr-wfc-timeout 120;
      }
      disk {
          on-io-error detach;
      }
      net {
          timeout 60;
          connect-int 10;
          ping-int 10;
          max-buffers 2048;
          max-epoch-size 2048;
          cram-hmac-alg”sha1″;
          shared-secret”Mysql-abcD”;
      }
      on test01 {
          device /dev/drbd0;
          disk /dev/sdb1;
          address 172.16.1.31:6666;
          meta-disk internal;
      }
      on test02 {
          device /dev/drbd0;
          disk /dev/sdb1;
          address 172.16.1.41:6666;
          meta-disk internal;
      }
}

1.2.3          初始化设

[root@test01 ~]# drbdadmcreate-md r1
initializing activity log
NOT initializing bitmap
Writing meta data…
New drbd meta data blocksuccessfully created.
[root@test01 ~]# drbdadm up r1
[root@test01 ~]# cat /proc/drbd
version: 8.4.6(api:1/proto:86-101)
GIT-hash:833d830e0152d1e457fa7856e71e11248ccf3f70 build by phil@Build64R6, 2015-04-0914:35:00
 0: cs:Connected ro:Secondary/Secondaryds:Inconsistent/Inconsistent C r—–
    ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0ua:0 ap:0 ep:1 wo:f oos:5241660

现在两个节点都处于 Secondary 状态     

将 test01 手动提升至 primary。并将 /dev/drbd0 进行格式化以供挂在使用

[root@test01 ~]# drbdadmprimary –force r1
[root@test01 ~]# cat/proc/drbd
version: 8.4.6(api:1/proto:86-101)
GIT-hash: 833d830e0152d1e457fa7856e71e11248ccf3f70build by root@test01, 2015-12-07 10:40:31
 0: cs:Connected ro:Primary/Secondaryds:UpToDate/UpToDate C r—–
    ns:1047484 nr:0 dw:0 dr:1048148 al:0 bm:0lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

1.2.4          格式化虚拟分区

[root@test01 ~]# mkfs.ext4/dev/drbd0
mke2fs 1.41.12 (17-May-2010)
文件系统标签 =
操作系统:Linux
..

Writing superblocks andfilesystem accounting information: 完成
 
This filesystem will beautomatically checked every 33 mounts or
180 days, whichever comesfirst.  Use tune2fs -c or -i to override.
[root@test01 ~]# tune2fs -c -1/dev/drbd0
tune2fs 1.41.12 (17-May-2010)
Setting maximal mount count to-1

1.2.5          挂载测试

[root@test01 ~]# mkdir /data
[root@test01 ~]# mount -t ext4/dev/drbd0 /data
[root@test01 ~]# df -h
Filesystem      Size Used Avail Use% Mounted on
/dev/sda2      9.4G 1.5G  7.4G  17% /
tmpfs          495M    0  495M  0% /dev/shm
/dev/sda1      190M  36M  145M  20% /boot
/dev/drbd0      991M 1.3M  939M  1% /data
[root@test01 ~]# touch/data/drbd.test
[root@test01 ~]# ls /data/
drbd.test lost+found

手动切换连个节点状态,并进行挂载测试

[root@test01 ~]# umount /data
[root@test01 ~]# drbdadmsecondary r1
[root@test01 ~]# cat/proc/drbd
version: 8.4.6(api:1/proto:86-101)
GIT-hash:833d830e0152d1e457fa7856e71e11248ccf3f70 build by root@test01, 2015-12-0710:40:31
 0: cs:Connected ro:Secondary/Secondaryds:UpToDate/UpToDate C r—–
    ns:1080828 nr:0 dw:33344 dr:1048921 al:10bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

将 test01 手动提升至 primary。并将 /dev/drbd0 进行格式化以供挂在使用

[root@test02drbd-utils-8.9.2]# drbdadm primary r1
[root@test02drbd-utils-8.9.2]# cat /proc/drbd
version: 8.4.6(api:1/proto:86-101)
GIT-hash:833d830e0152d1e457fa7856e71e11248ccf3f70 build by root@test02, 2015-12-0710:40:31
 0: cs:Connected ro:Primary/Secondaryds:UpToDate/UpToDate C r—–
    ns:0 nr:1080828 dw:1080828 dr:664 al:0 bm:0lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[root@test02 ~]# mkdir /data
[root@test02 ~]# mount -t ext4/dev/drbd0 /data
[root@test02 ~]# ls /data/
drbd.test lost+found
[root@test01 ~]# umount /data
[root@test01 ~]# drbdadmsecondary r1

现在 drbd 两个节点已经配置成功,并手动测试成功。drbd 的两个节点,同时时间只有 primary 状态的节点提供服务。

1.3  配置 nfs 服务
test01 test02 web 配置 nfs 的共享目录为 /data,test01 test02 同时 /dev/drbd0 的挂载目录也是 /data

1.3.1          将 test01 drbd 状态提升为 primary 并将 /dev/drbd0 挂载至 /data, 编辑 /etc/exports 文件,并本地测试。

[root@test01 ~]# cat/proc/drbd 
version: 8.4.6(api:1/proto:86-101)
GIT-hash: 833d830e0152d1e457fa7856e71e11248ccf3f70build by root@test01, 2015-12-07 10:40:31
 0: cs:Connected ro:Secondary/Secondaryds:UpToDate/UpToDate C r—–
    ns:1080828 nr:8 dw:33352 dr:1048921 al:10bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

[root@test01 ~]# drbdadmprimary r1
[root@test01 ~]# mount -t ext4/dev/drbd0 /data
[root@test01 ~]# df -h
Filesystem      Size Used Avail Use% Mounted on
/dev/sda2      9.4G 1.5G  7.4G  17% /
tmpfs          495M    0 495M  0% /dev/shm
/dev/sda1      190M  36M  145M  20% /boot
/dev/drbd0      991M 1.3M  939M  1% /data

[root@test01 ~]# cat/etc/exports 
/data172.16.1.0/24(rw,sync,all_squash)

[root@test01 ~]#/etc/init.d/rpcbind start
[root@test01 ~]#/etc/init.d/nfs start
[root@test01 ~]# chown -R nfsnobody.nfsnobody/data
[root@test01 ~]# showmount -e172.16.1.111
Export list for 172.16.1.111:
/data 172.16.1.0/24

[root@test01 ~]# mount -t nfs172.16.1.111:/data /mnt
[root@test01 ~]# ls /mnt
drbd.test lost+found
[root@test01 ~]# touch/mnt/test01.test
[root@test01 ~]# ls /mnt
drbd.test lost+found  test01.test

1.3.2          将 test01 状态降为 secondary,将 test02 状态提升为 primary,并将 /dev/drbd0 挂载至 /data,编辑 /etc/exports 文件,并本地测试

[root@test01 ~]# umount /mnt
[root@test01 ~]#/etc/init.d/nfs stop
[root@test01 ~]# umount /data
[root@test01 ~]# drbdadmsecondary r1
[root@test01 ~]# cat/proc/drbd
version: 8.4.6(api:1/proto:86-101)
GIT-hash:833d830e0152d1e457fa7856e71e11248ccf3f70 build by root@test01, 2015-12-0710:40:31
 0: cs:Connected ro:Secondary/Secondaryds:UpToDate/UpToDate C r—–
    ns:1080952 nr:8 dw:33476 dr:1049979 al:10bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

[root@test02 ~]# drbdadm primary r1
[root@test02 ~]# mount -t ext4/dev/drbd0 /data
[root@test02 ~]# df -h
Filesystem      Size Used Avail Use% Mounted on
/dev/sda2      9.4G 1.5G  7.4G  17% /
tmpfs          495M    0 495M  0% /dev/shm
/dev/sda1      190M  36M  145M  20% /boot
/dev/drbd0      991M 1.3M  939M  1% /data

[root@test02 ~]# cat/etc/exports 
/data172.1.6.0/24(rw,sync,all_squash)

[root@test02 ~]#/etc/init.d/rpcbind start
[root@test02 ~]#/etc/init.d/nfs start
[root@test02 ~]# chown -Rnfsnobody.nfsnobody /data
[root@test02 ~]# showmount -e172.16.1.112
Export list for 172.16.1.112:
/data 172.16.1.0/24

[root@test02 ~]# mount -t nfs172.16.1.112:/data /mnt
[root@test02 ~]# ls /mnt
drbd.test lost+found  test01.test
[root@test02 ~]# touch/mnt/test02.test
[root@test02 ~]# ls /mnt
drbd.test lost+found  test01.test  test02.test

[root@test02 ~]# umount /mnt
[root@test02 ~]#/etc/init.d/nfs stop
[root@test02 ~]# umount /data
[root@test02 ~]# drbdadmsecondary r1
version: 8.4.6(api:1/proto:86-101)
GIT-hash:833d830e0152d1e457fa7856e71e11248ccf3f70 build by root@test02, 2015-12-0710:40:31
 0: cs:Connected ro:Secondary/Secondaryds:UpToDate/UpToDate C r—–
    ns:124 nr:1080952 dw:1081076 dr:1726 al:2bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

至此:drbd nfs 手动挂载测试成功

1.4  配置 heartbeat
配置 heartbeat 以达到 nfs 主节点失效自动将所有资源切换到备用节点

1.4.1          两台 nfs 服务器上安装 heartbeat
添加 epel 扩展源。官方 yum 源没有 heartbeat

yum -y install epel-release
yum install heartbeat -y

1.4.2          将两台服务器默认配置文件拷贝到 /etc/ha.d/ 并做更改

[root@test01 ~]# rpm -qdheartbeat|grep doc
/usr/share/doc/heartbeat-3.0.4/AUTHORS
/usr/share/doc/heartbeat-3.0.4/COPYING
/usr/share/doc/heartbeat-3.0.4/COPYING.LGPL
/usr/share/doc/heartbeat-3.0.4/ChangeLog
/usr/share/doc/heartbeat-3.0.4/README
/usr/share/doc/heartbeat-3.0.4/apphbd.cf
/usr/share/doc/heartbeat-3.0.4/authkeys
/usr/share/doc/heartbeat-3.0.4/ha.cf
/usr/share/doc/heartbeat-3.0.4/haresources

1 [root@test01 ~]# cp/usr/share/doc/heartbeat-3.0.4/authkeys /usr/share/doc/heartbeat-3.0.4/ha.cf/usr/share/doc/heartbeat-3.0.4/haresources /etc/ha.d/

[root@test01 ~]# egrep -v”#|^$” /etc/ha.d/ha.cf
logfile /var/log/ha-log
logfacility    local0
keepalive 2
deadtime 30
warntime 10
initdead 60
mcast eth0 225.0.0.1 694 1 0
auto_failback on
node    test01
node    test02

[root@test01 ~]# egrep -v”#|^$” /etc/ha.d/authkeys
auth 1
1 sha1 liyanan
[root@test01 ~]# chmod600  /etc/ha.d/authkeys
[root@test01 ~]# ll  /etc/ha.d/authkeys       
-rw——- 1 root root 647 12 月  7 15:13 /etc/ha.d/authkeys
 
[root@test01 ~]#echo ” test01drbddisk::r1 Filesystem::/dev/drbd0::/data::ext4 nfsIPaddr::172.16.1.100/24/eth1
” >>/etc/ha.d/haresources

将附件的脚本加入到 /etc/ha.d/resource.d/ 下并赋予可执行权限。

1.4.3          启动两台服务器 heartbeat

[root@test01 ~]#/etc/init.d/heartbeat start
[root@test01 ~]#/etc/init.d/heartbeat status
heartbeat OK [pid 5362 et al]is running on test01 [test01]…

1.4.4          测试 heartbeat

全部启动 heartbeat 服务

[root@test01 ha.d]#/etc/init.d/heartbeat status
heartbeat OK [pid 22646 et al]is running on test01 [test01]…
[root@test02 ~]#/etc/init.d/heartbeat status
heartbeat OK [pid 13217 et al]is running on test02 [test02]…

检查 test01 挂载

[root@test01 ha.d]# df -h
Filesystem      Size Used Avail Use% Mounted on
/dev/sda2      9.4G 1.6G  7.3G  18% /
tmpfs          495M    0 495M  0% /dev/shm
/dev/sda1      190M  36M  145M  20% /boot
/dev/drbd0      991M 1.3M  939M  1% /data

检查 test02 挂载

[root@test02 ~]# df -h
Filesystem      Size Used Avail Use% Mounted on
/dev/sda2      9.4G 1.6G  7.3G  18% /
tmpfs          495M    0 495M  0% /dev/shm
/dev/sda1      190M  36M  145M  20% /boot

关闭 test01 的 heartbeat 服务后再检查挂载

[root@test01 ha.d]#/etc/init.d/heartbeat stop
Stopping High-Availabilityservices: Done.

[root@test01 ha.d]# df -h
Filesystem      Size Used Avail Use% Mounted on
/dev/sda2      9.4G 1.6G  7.3G  18% /
tmpfs          495M    0  495M  0% /dev/shm
/dev/sda1      190M  36M  145M  20% /boot

再次检查 test02 挂载

[root@test02 ~]# df -h
Filesystem      Size Used Avail Use% Mounted on
/dev/sda2      9.4G 1.6G  7.3G  18% /
tmpfs          495M    0 495M  0% /dev/shm
/dev/sda1      190M  36M  145M  20% /boot
/dev/drbd0      991M 1.3M  939M  1% /data

再次启动 test01 的 heartbeat 服务,并检查挂载

[root@test01 ha.d]#/etc/init.d/heartbeat start
Starting High-Availabilityservices: Done.

[root@test01 ha.d]# df -h
Filesystem      Size Used Avail Use% Mounted on
/dev/sda2      9.4G 1.6G  7.3G  18% /
tmpfs          495M    0 495M  0% /dev/shm
/dev/sda1      190M  36M  145M  20% /boot
/dev/drbd0      991M 1.3M  939M  1% /data

再次检查 test02 挂载

[root@test02 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2      9.4G 1.6G  7.3G  18% /
tmpfs          495M    0 495M  0% /dev/shm
/dev/sda1      190M  36M  145M  20% /boot

经过循环测试,证明 heartbeat 服务已经成功接管 drbd nfs VIP 服务

可通过 VIP 向外部提供 nfs 挂载解决 nfs 单点故障。

终极测试,循环写入数据测试丢包率

测试方式:由 test01 为主,提供 nfs 服务、test02 为备,接管 nfs 服务。web 挂载 test01 提供的 nfs 共享目录。通过间隔 1S 连续在 web 的挂载点上写入数据,期间手动关闭 test01 的 heartbeat 服务,造成意外宕机的实验效果,等脚本执行完毕后,在 web 端查看写入的数据,以便检测丢包率。

检查挂载情况及虚拟 IP

[root@test01 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2      9.4G  1.6G  7.4G  18% /
tmpfs          242M    0  242M  0% /dev/shm
/dev/sda1      190M  36M  145M  20% /boot
/dev/drbd0      4.8G  11M  4.6G  1% /data
[root@test01 ~]# ip add |grep 172.16
    inet 172.16.1.111/24 brd 172.16.1.255 scope global eth1
    inet 172.16.1.100/24 brd 172.16.1.255 scope global secondary eth1

——————————————————————————–

[root@test02 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2      9.4G  1.6G  7.4G  18% /
tmpfs          242M    0  242M  0% /dev/shm
/dev/sda1      190M  36M  145M  20% /boot
[root@test02 ~]# ip add |grep 172.16
    inet 172.16.1.112/24 brd 172.16.1.255 scope global eth1

——————————————————————————–

[root@web ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2            9.4G  2.1G  6.9G  24% /
tmpfs                242M    0  242M  0% /dev/shm
/dev/sda1            190M  36M  145M  20% /boot
172.16.1.100:/data  4.8G  11M  4.6G  1% /data/www/

测试脚本:

for ((n=1;n<30;n++))
do 
  touch /data/www/$n
  sleep 1
done

期间关闭 test01 的 heartbeat 服务,并检查最终测试结果

[root@web ~]# ls /data/www/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29

测试结果表明数据丢包率为 0,试验成功。

—————————————— 分割线 ——————————————

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2015 年资料 /12 月 /22 日 /DRBD+Heartbeat 解决 NFS 单点故障 /

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

—————————————— 分割线 ——————————————

有关 DRBD 的相关知识,可以参考:
DRBD 原理及特性概述 http://www.linuxidc.com/Linux/2015-11/124759.htm
快速安装及部署 DRBD  http://www.linuxidc.com/Linux/2015-11/124760.htm

Linux 高可用(HA)集群之 DRBD 详解 http://www.linuxidc.com/Linux/2013-08/89035.htm

DRBD 中文应用指南 PDF http://www.linuxidc.com/Linux/2013-08/89034.htm

CentOS 6.3 下 DRBD 安装配置笔记 http://www.linuxidc.com/Linux/2013-06/85600.htm

基于 DRBD+Corosync 实现高可用 MySQL http://www.linuxidc.com/Linux/2013-05/84471.htm

CentOS 6.4 下 DRBD 安装配置 http://www.linuxidc.com/Linux/2013-09/90536.htm

DRBD 的详细介绍:请点这里
DRBD 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-12/126633.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计12413字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7980437
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
升级自动部署更新SSL证书系统、申请godaddy的APIKEY

升级自动部署更新SSL证书系统、申请godaddy的APIKEY

升级自动部署更新 SSL 证书系统、申请 godaddy 的 APIKEY 公司之前花钱购买的 ssl 证书快...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...