小编Mik*_*eyB的帖子

dm 设备 100% 利用率的影响

我们这里有一个 RHEL 5.6 服务器,它有 4 个指向单个 LUN 的活动路径。我们怀疑它无法将足够多的 IO 通过管道塞入另一端的 XIV:

mpath0 (XXXXXXXXXXXXXXX) dm-9 IBM,2810XIV
[size=1.6T][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=4][active]
 \_ 2:0:1:2 sdaa 65:160 [active][ready]
 \_ 1:0:0:2 sdc  8:32   [active][ready]
 \_ 1:0:1:2 sdk  8:160  [active][ready]
 \_ 2:0:0:2 sds  65:32  [active][ready]

Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sdc               0.00   108.18 49.30 273.65   795.21  1527.35    14.38     0.49    1.51   1.16  37.50
sdk               0.00   101.00 49.70 280.44  1700.60  1525.75    19.55     0.55    1.67   1.15  38.06
sds               0.20   110.58 …
Run Code Online (Sandbox Code Playgroud)

linux redhat multipath

7
推荐指数
1
解决办法
1893
查看次数

忽略 haproxy 主机头匹配中的端口号

使用 haproxy-1.5,我有以下部分配置:

    acl is_api hdr(host) -i api.example.com
    acl is_app hdr(host) -i app.example.com
Run Code Online (Sandbox Code Playgroud)

不幸的是,上面的请求与如下所示的请求不匹配:

GET / HTTP/1.1
Host: api.example.com:80
Run Code Online (Sandbox Code Playgroud)

据我所知,我需要这样做:

    acl is_api hdr(host) -i api.example.com
    acl is_api hdr(host) -i api.example.com:80
    acl is_app hdr(host) -i app.example.com
    acl is_app hdr(host) -i app.example.com:80
Run Code Online (Sandbox Code Playgroud)

啊。不!恨!

有没有更好的方法来做到这一点?我可以告诉 haproxy 忽略主机头中的端口吗?

haproxy

7
推荐指数
1
解决办法
3757
查看次数

将来自多个 Win7 安装的驱动程序合并到单个映像

我需要为多个系统(联想笔记本电脑)准备一个带有驱动程序的 Windows 7 映像。

我目前在一种笔记本电脑类型上准备了一个图像,但还需要获取适用于其他笔记本电脑类型的驱动程序,以确保它适用于所有系统。

据我所知,程序将是:

  • 使用 imageX 创建引导 CD
  • 获取在第一类系统上准备的 .wim 映像
  • 从其他系统获取 .wim 图像
  • 在 WAIK 中安装其他图像
  • 从其他图像中提取驱动程序
  • 将驱动程序注入第一个 .wim
  • 使用引导 CD 引导系统并将更新的 .wim 映像重新部署到 Windows 分区中
  • 使用常用的成像工具拍摄驱动器的图像

这一切似乎有点太复杂了,但我愿意这样做以使正确的驱动程序进入图像。

由于磁盘映像上有多个操作系统,这(表面上)必然很复杂。

我在正确的轨道上吗?

windows-7 waik

7
推荐指数
2
解决办法
3499
查看次数

/dev/disk/by-id/scsi-* 链接指向 sdX 而不是多路径设备

我们有两台类似的 SLES10SP2 服务器,它们都在来自同一存储阵列的同一设备上使用多路径。

在一台服务器上,/dev/disk/by-id/scsi-* 设备正确指向多路径设备:

server1:/dev/disk/by-id # ls -l scsi-* | awk '{print $9,$10,$11;}'
scsi-3600a0b80005047d80000050c4933f22c -> ../../dm-1
scsi-3600a0b80005047d80000050c4933f22c-part1 -> ../../dm-2
scsi-3600a0b80005047d80000050c4933f22c-part2 -> ../../dm-3
scsi-3600a0b80005047d80000b0a14dbb20e4 -> ../../dm-0
Run Code Online (Sandbox Code Playgroud)

另一方面,/dev/disk/by-id/scsi-* 磁盘设备指向其中一个路径而不是多路径 dm 设备:

server2:/dev/disk/by-id # ls -l scsi-* | awk '{print $9,$10,$11;}'
scsi-3600a0b80005047d80000a3464a07f6ee -> ../../dm-1
scsi-3600a0b8000505008000004f84933e183 -> ../../sda
scsi-3600a0b8000505008000004f84933e183-part1 -> ../../dm-4
scsi-3600a0b8000505008000004f84933e183-part2 -> ../../dm-5
scsi-3600a0b80005050080000057749352a81 -> ../../sdd
scsi-3600a0b80005050080000057749352a81-part1 -> ../../dm-6
scsi-3600a0b80005050080000a7cd4dbb2498 -> ../../sdg
Run Code Online (Sandbox Code Playgroud)

这会导致问题,因为某些磁盘被配置为使用整个磁盘作为 pv。

我们需要在 server2 上更改什么才能让系统设置所有 scsi-* 链接以指向多路径设备而不是单个路径?

linux multipath sles10

6
推荐指数
1
解决办法
2792
查看次数

HP P9500 块级数据完整性检查

HP P9500 是否对读取进行任何类型的块级数据完整性检查?

如果是这样,我正在寻找它确实做了这样的事情的实际文档。

storage hp

6
推荐指数
1
解决办法
244
查看次数

从 VMware CLI 修改虚拟机属性

必须有一种方法来做到这一点,我错过了。我正在尝试从 CLI 中同时修改一大堆虚拟机的属性:

看!24 个虚拟机:

$ vmware-cmd --server 10.91.1.1 --username root --password vmware -h 10.91.1.3 -l
/vmfs/volumes/volumes/V-RHEL-01/V-RHEL-01.vmx
/vmfs/volumes/volumes/V-RHEL-02/V-RHEL-02.vmx
/vmfs/volumes/volumes/V-RHEL-03/V-RHEL-03.vmx
…
/vmfs/volumes/volumes/V-RHEL-24/V-RHEL-24.vmx
Run Code Online (Sandbox Code Playgroud)

让我们尝试修改它们:

$ for i in `seq -w 1 24`; do
  CFG="/vmfs/volumes/volumes/V-RHEL-$i/V-RHEL-$i.vmx"
  echo $CFG
  vmware-cmd --server 10.91.1.1 --username root --password vmware -h 10.91.1.3 "$CFG" setguestinfo memsize 8192
  vmware-cmd --server 10.91.1.1 --username root --password vmware -h 10.91.1.3 "$CFG" setguestinfo sched.mem.min 2048
done
Run Code Online (Sandbox Code Playgroud)

结果是:

/vmfs/volumes/volumes/V-RHEL-01/V-RHEL-01.vmx
No virtual machine found.
No virtual machine found.
/vmfs/volumes/volumes/V-RHEL-02/V-RHEL-02.vmx
No virtual machine found.
No virtual machine found. …
Run Code Online (Sandbox Code Playgroud)

vmware-vcenter vmware-vsphere

6
推荐指数
1
解决办法
601
查看次数

使用 RAID 和 LVM 预安装 12.04

我正在尝试使用以下分区方法设置预安装(Ubuntu 12.04.03 64 位),但它不起作用,我不知道为什么。

拜托,欧比旺,你是我唯一的希望。

-1所以我试图改变在大小最初是10亿-1,但它并没有区别。

d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-auto/purge_lvm_from_device  boolean true

d-i partman-auto/disk string /dev/sda /dev/sdb
d-i partman-auto/method string raid

d-i partman-auto-lvm/new_vg_name string vg_sys
d-i partman-auto-lvm/guided_size string max

d-i partman-auto/choose_recipe select raid-lvm
d-i partman-auto/expert_recipe string                      \
      raid-lvm ::                                          \
        512 10 512 raid                                    \
          $primary{ } $lvmignore{ } $bootable{ }           \
          method{ raid }                                   \
        .                                                  \
        8192 20 -1 raid                                    \
          $primary{ } $lvmignore{ }                        \
          method{ raid …
Run Code Online (Sandbox Code Playgroud)

preseed ubuntu-12.04

6
推荐指数
1
解决办法
6576
查看次数

收集 FusionIO 库存

我需要编写一个脚本来从 Linux 服务器收集 FusionIO 驱动器的清单数据。

我能找到的唯一方法是fio-status实用程序,但它旨在输出人类可读的文本,而不是机器可解析的文本。我可以刮它,但那很脏。

我查过了,/proc/fusion但没有足够的信息有任何用处。

我希望有更好的方法,无论是某种交互方式libiodrivesdk.so还是已经存在的实用程序来完成这项工作。


我最初使用的是 v1.2.7.2。在 Shane 的推荐下,我升级到 2.2.3.66。

fio-status 现在有一个-fk输出选项:

sles11-live:~ # fio-status -fk
; Retrieving Fusion-io product information...

[driver]
total_ioDimms=4
ioDrive_Duos=2
driver_version=unavailable
sdk_api_version=unavailable

[adapter 1]
product_name=IBM 640GB High IOPS MD Class PCIe Adapter
product_number=68Y7381
…
Run Code Online (Sandbox Code Playgroud)

呃,我希望 JSON 但乞丐不能挑剔。

linux fusionio

5
推荐指数
1
解决办法
523
查看次数

安装 Windows 驱动程序而不出现未签名警告

我正在尝试创建一个批处理安装文件,它执行的任务之一是安装 3rd 方驱动程序。这是未签名的,因此会弹出警告并导致脚本的其余部分在 Windows XP Professional Service Pack 3 上失败。

我尝试了以下方法:

 reg add "HKCU\Software\Policies\Microsoft\Driver Signing" /v BehaviorOnFailedVerify /t     reg_dword /d 00000000 /f

 REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Driver Signing" /t REG_DWORD /v Policy /d 0 /f
 REG ADD "HKEY_LOCAL_MACHINE\Software\Microsoft\Driver Signing" /t REG_BINARY /v Policy /d 00 /f
 REG ADD "HKEY_LOCAL_MACHINE\Software\Microsoft\Non-Driver Signing" /t REG_BINARY /v Policy /d 00 /f
 REG ADD "HKEY_USERS\.DEFAULT\Software\Microsoft\Driver Signing" /t REG_DWORD /v Policy /d 0 /f
Run Code Online (Sandbox Code Playgroud)

这些似乎都没有改变它。该脚本必须在多台机器上运行,所以我无法手动执行。有谁知道如何做到这一点?

windows windows-xp drivers

5
推荐指数
2
解决办法
1万
查看次数

通过powershell设置接口的MTU

我正在尝试在 Windows 7 上以编程方式为物理接口设置 MTU :

PS> (Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Where { $_.Description -match '^Red Hat.*#2' })

DHCPEnabled      : False
IPAddress        : {10.10.8.3, fe80::447d:38dc:bb39:f311}
DefaultIPGateway : 
DNSDomain        : 
ServiceName      : netkvm
Description      : Red Hat VirtIO Ethernet Adapter #2
Index            : 12

PS> (Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Where { $_.Description -match '^Red Hat.*#2' }).SetMTU(9000)
Method invocation failed because [System.Management.ManagementObject#root\cimv2\Win32_NetworkAdapterConfiguration] doesn't contain a method named 'SetMTU'.
At line:1 char:113
+ (Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Where { $_.Description -match …
Run Code Online (Sandbox Code Playgroud)

windows-7 mtu

5
推荐指数
1
解决办法
1万
查看次数