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..26bd935d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1240,17 +1240,7 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.0: - version "6.12.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" - integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.12.5: +ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -2769,9 +2759,9 @@ fast-deep-equal@^2.0.1: integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= fast-deep-equal@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-json-stable-stringify@^2.0.0: version "2.1.0" @@ -6265,9 +6255,9 @@ upath@^1.1.1: integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0"