我首先创建了 16 个正好 10 亿字节的空文件:
for i in {1..16}; do dd if=/dev/zero of=/mnt/temp/block$i bs=1000000 count=1000 &> /dev/null; done
Run Code Online (Sandbox Code Playgroud)
然后我在文件上创建越来越大的 RAIDZ2 卷,强制 ashift=12 来模拟 4K 扇区驱动器,例如
zpool create tank raidz2 -o ashift=12 /mnt/temp/block1 /mnt/temp/block2...
Run Code Online (Sandbox Code Playgroud)
然后比较使用df -B1看实际尺寸。
Filesystem 1B-blocks
tank 12787777536
Run Code Online (Sandbox Code Playgroud)
我的结果:
+-------+-------------+-------------+------------+------------+
| disks | expected | actual | overhead | efficiency |
+-------+-------------+-------------+------------+------------+
| 3 | 1000000000 | 951975936 | 48024064 | 95.2 |
| 4 | 2000000000 | 1883766784 | 116233216 | 94.2 |
| 5 | …Run Code Online (Sandbox Code Playgroud) 我有一个 Haproxy 实例,它Host使用http-request set-header.
http-request set-header Host internal.example
Run Code Online (Sandbox Code Playgroud)
但是,我仍然希望后端能够访问原始Host标头。我认为这X-Forwarded-Host是一个很好的候选人,但是我正在努力弄清楚如何做到这一点。
我正在使用这个,它有效:
capture request header Host len 64
http-request set-header X-Forwarded-Host %hrl
Run Code Online (Sandbox Code Playgroud)
但当然,这是一个巨大的黑客 - 不能超过 64 个字符,如果我需要捕获另一个标题,它将无法工作。
有没有更好的办法?