前期修复掉电系统的时候,将zfs改成两个区的架构。FreeBSD采用两块硬盘两个zfs区的构架-CSDN博客
但是运行起来发现scp文件特别慢,竟然只有几百k/s,对局域网来说这是绝对无法忍受的。
比如从1.5cp一个iso文件:
scp skywalk@192.168.1.5://usr/jails/src/iso/cbsd-iso-ubuntu-22.04.3-live-server-amd64.iso .
(skywalk@192.168.1.5) Password for skywalk@fb5:
cbsd-iso-ubuntu-22.04.3-live-server-amd64.iso 1% 21MB 1.4MB/s 24:45 ETA
使用zpool status看一下zfs池:
zpool status
pool: data
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
data ONLINE 0 0 0
ada1 ONLINE 0 0 0
errors: No known data errors
pool: zroot
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
zroot ONLINE 0 0 0
ada0p4 ONLINE 0 0 0
errors: No known data errors
发现第二快硬盘是直接挂的ada1 ,准备挂ada1p2试试
首先将其解挂
解挂data zfs分区
zpool destroy data
cannot unmount '/usr/jails': pool or dataset is busy
could not destroy 'data': could not unmount datasets
显示busy,这时候怎么解挂呢?
先umount /data,然后解挂data zfs
root@fb5:~ # umount /data
root@fb5:~ # df -h
Filesystem Size Used Avail Capacity Mounted on
zroot/ROOT/default 26G 2.3G 23G 9% /
devfs 1.0K 0B 1.0K 0% /dev
/dev/gpt/efiboot0 260M 1.3M 259M 1% /boot/efi
data/jails 207G 10G 197G 5% /usr/jails
zroot/usr/src 23G 96K 23G 0% /usr/src
zroot/tmp 23G 224K 23G 0% /tmp
zroot/var/audit 23G 96K 23G 0% /var/audit
zroot/usr/ports 24G 923M 23G 4% /usr/ports
zroot 23G 96K 23G 0% /zroot
zroot/var/crash 23G 96K 23G 0% /var/crash
zroot/var/log 23G 268K 23G 0% /var/log
zroot/home 23G 96K 23G 0% /home
zroot/var/mail 23G 160K 23G 0% /var/mail
zroot/var/tmp 23G 96K 23G 0% /var/tmp
zroot/home/skywalk 23G 140K 23G 0% /home/skywalk
root@fb5:~ # zpool destroy data
root@fb5:~ # df -h
Filesystem Size Used Avail Capacity Mounted on
zroot/ROOT/default 26G 2.3G 23G 9% /
devfs 1.0K 0B 1.0K 0% /dev
/dev/gpt/efiboot0 260M 1.3M 259M 1% /boot/efi
zroot/usr/src 23G 96K 23G 0% /usr/src
zroot/tmp 23G 224K 23G 0% /tmp
zroot/var/audit 23G 96K 23G 0% /var/audit
zroot/usr/ports 24G 923M 23G 4% /usr/ports
zroot 23G 96K 23G 0% /zroot
zroot/var/crash 23G 96K 23G 0% /var/crash
zroot/var/log 23G 268K 23G 0% /var/log
zroot/home 23G 96K 23G 0% /home
zroot/var/mail 23G 160K 23G 0% /var/mail
zroot/var/tmp 23G 96K 23G 0% /var/tmp
zroot/home/skywalk 23G 140K 23G 0% /home/skywalk
解挂完成。
现在使用bsdconfig配置硬盘(以前配置过,这里忽略)
可以看到ada1盘,主文件系统在ada1p2,将其挂上
挂载ada1p2 到名字是data的zfs 池
zpool create data /dev/ada1p2
挂载的时候报错:
zpool create data /dev/ada1p2
invalid vdev specification
use '-f' to override the following errors:
/dev/ada1p2 is part of potentially active pool 'zroot'
可以看到这是以前曾经挂载到zroot过,不过这不重要了,重新-f强制挂载。
zpool create -f data /dev/ada1p2
这样就挂载上了,使用zpool status看一下:
root@fb5:~ # zpool status
pool: data
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
data ONLINE 0 0 0
ada1p2 ONLINE 0 0 0
errors: No known data errors
pool: zroot
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
zroot ONLINE 0 0 0
ada0p4 ONLINE 0 0 0
errors: No known data errors
恢复原来的/usr/jails (data/jails)zfs分区
首先将/usr/jails放到新的zfs data区里:
zfs create -o mountpoint=/usr/jails -o atime=off data/jails
然后CBSD再重新进行初始化:
env workdir=/usr/jails /usr/local/cbsd/sudoexec/initenv
关于前面zfs创建data分区参数atime=off的解释:
在 -o atime=off
这个上下文中,-o
通常用于指定挂载文件系统时的选项。atime=off
选项的目的是禁用对文件访问时间的更新。这意味着,无论文件是否被读取,其访问时间戳都不会改变。这可以提高文件系统的性能,尤其是在有大量读操作的环境中,因为它减少了磁盘写入操作。然而,这也意味着无法准确追踪文件的访问时间。
但是试验了一下,硬盘速度还是太慢 。
换了网线,速度还是慢。
所以目前位置,还没找到问题原因。但是确实以前trinity客户端是有卡顿现象,而且延时经常高到500-700ms,有时候竟然会红。但是当时ping scp等都是正常的。
而现在,还没用trinity测试,scp已经不正常了,速度200来k,局域网简直回到了拨号上网时期。
但是这台设备从互联网下载软件是很快的,比如从普渡大学罗森高级计算中心的镜像站https://plug-mirror.rcac.purdue.edu/ 下载,就很快。