diff --git a/pages/_assets/file/p440ar-ctrl-benchmark/fio-hba.tar.gz b/pages/_assets/file/p440ar-ctrl-benchmark/fio-hba.tar.gz
new file mode 100644
index 00000000..84fe3aac
Binary files /dev/null and b/pages/_assets/file/p440ar-ctrl-benchmark/fio-hba.tar.gz differ
diff --git a/pages/_assets/file/p440ar-ctrl-benchmark/fio-raid0.tar.gz b/pages/_assets/file/p440ar-ctrl-benchmark/fio-raid0.tar.gz
new file mode 100644
index 00000000..2ba3ac24
Binary files /dev/null and b/pages/_assets/file/p440ar-ctrl-benchmark/fio-raid0.tar.gz differ
diff --git a/pages/_posts/p440ar-ctrl-benchmark.md b/pages/_posts/p440ar-ctrl-benchmark.md
new file mode 100644
index 00000000..5a095d1f
--- /dev/null
+++ b/pages/_posts/p440ar-ctrl-benchmark.md
@@ -0,0 +1,74 @@
+---
+title: P440ar Array Controller 直通评测
+tags:
+ - HP
+ - HBA
+ - RAID
+ - ZFS
+categories:
+ - 搞机
+layout: post
+date: 2022-03-26
+---
+
+最近到了一批`HPE DL560 G9`的机器,默认带的是[P440ar](https://support.hpe.com/hpesc/public/docDisplay?docId=emr_na-c04496202)的卡。但是目前我们都是用的ZFS,所以一般来说我们都会把卡刷成`IT Mode`直通给系统。
+
+戴尔的卡已经有[很成熟的教程](https://fohdeesha.com/docs/index.html)了,但是HP似乎都没有,目前可以选择的方案看了一圈只有
+
+- HBA Mode,他们的卡自带了这个模式
+- RAID 0 for each physical drive,我没想到的是他们界面直接就有这个选项,看来很多这样的需求
+
+但是继续找了一下并没有看到有关于更多ZFS的评测,所以这里就记录一下目前收集到的信息
+
+## 规格
+
+### 硬盘
+
+硬盘是`2.5 inch Seagate 1TB 7200 RPM`,具体信息:
+
+```
+Status: OK
+Serial Number: 9XG6E9NN
+Model: ST910006CLAR1000
+Media Type: HDD
+Capacity: 1000 GB
+Firmware Version: AS0D
+Encryption Status Not Encrypted
+```
+
+### 控制器
+
+控制器读缓存开启,写缓存关闭
+
+## 测试
+
+### 脚本
+
+使用的是[fio](https://github.com/axboe/fio),配合脚本
+
+
+
+### RAID 0 结果
+
+fio-raid0.tar.gz
+
+### HBA 结果
+
+fio-hba.tar.gz
+
+## 结论
+
+目前测试出来单盘的情况下,HBA和Raid0的结果在512K的读写下很相近,但是HBA模式表现似乎要更好一点。
+
+所有结果都打包在上面,有需要的可以自行下载研究。如果有更多测试/模式想要测试,可以在评论区留言
+
+
\ No newline at end of file
diff --git a/saber-node.js b/saber-node.js
index 2cc1b5b2..71e9473e 100644
--- a/saber-node.js
+++ b/saber-node.js
@@ -1,15 +1,20 @@
const webpack = require('webpack')
-exports.chainWebpack = function(chain) {
+const fileLoaderExt = (names, chain) => {
chain.module
- .rule("pdf")
- .test(/\.pdf$/)
- .use("pdf")
+ .rule("file load path")
+ .test(new RegExp(`\.(${names.join('|')})$`))
+ .use("file load path")
.loader("file-loader")
.options({
- name: "[name].[ext]",
+ name: "[path][name].[ext]",
});
- chain.module
+}
+
+exports.chainWebpack = function(chain) {
+ fileLoaderExt(["pdf", "tar.gz"], chain)
+
+ chain.module
.rule("cool")
.test(/\.cool$/)
.use("cool")
diff --git a/yarn.lock b/yarn.lock
index f6138629..25533b7e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1794,7 +1794,7 @@ chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
-chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
+chalk@^2.0.0, chalk@^2.4.1:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -4594,6 +4594,11 @@ phin@^2.9.1:
resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c"
integrity sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==
+picocolors@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f"
+ integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==
+
picomatch@^2.0.4, picomatch@^2.2.1:
version "2.2.2"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
@@ -4988,13 +4993,12 @@ postcss-value-parser@^4.0.2:
integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6:
- version "7.0.30"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.30.tgz#cc9378beffe46a02cbc4506a0477d05fcea9a8e2"
- integrity sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ==
+ version "7.0.39"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309"
+ integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==
dependencies:
- chalk "^2.4.2"
+ picocolors "^0.2.1"
source-map "^0.6.1"
- supports-color "^6.1.0"
posthtml-parser@^0.4.1:
version "0.4.2"
@@ -5965,13 +5969,6 @@ supports-color@^5.3.0:
dependencies:
has-flag "^3.0.0"
-supports-color@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
- integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
- dependencies:
- has-flag "^3.0.0"
-
svgo@^1.0.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167"