我尝试通过 PERC 配置在驱动器上创建新的 VD。我得到:
“虚拟磁盘创建失败”
该驱动器之前已在另一个系统中使用过。
在我可以使用驱动器之前,我需要清除什么?
我尝试通过 PERC 配置在驱动器上创建新的 VD。我得到:
“虚拟磁盘创建失败”
该驱动器之前已在另一个系统中使用过。
在我可以使用驱动器之前,我需要清除什么?
我很恼火,因为我想通过 iDRAC6 使用虚拟控制台,所以我必须启动 Web 浏览器。
我设法下载viewer.jnlp
,我可以启动查看器:
javaws viewer.jnlp
但似乎viewer.jnlp
每次运行都会发生变化。具体来说:
<argument>user=1234567890</argument>
<argument>passwd=123456789</argument>
我的猜测是 iDRAC6 为每次运行创建一个随机用户/密码,并且只能使用一次。
如果我可以简单地做,我会更喜欢:
drac-virtual-console-viewer username password drac.ip.nr
有没有工具呢?
或者有没有办法可以下载viewer.jnlp
给定的用户名/密码?
其他版本的 iDRAC 似乎支持 VNC,但我无法让它在 iDRAC6 上运行。但如果我能让它发挥作用,它也会解决我的问题。
系统:戴尔 R815 iDRAC6
iDRAC 的虚拟控制台使用jnlp
.
我已经安装了:
sudo apt-get install icedtea-netx
使用 Firefox 连接到 iDRAC 的网络服务器。当我单击“启动虚拟控制台”时,它会启动 java 应用程序。然后 JVM 请求我授予的一些权限(证书是自签名的)。但它随后失败:“连接失败”。
我在运行 Ubuntu 18.04 时可以正常工作,但在将客户端升级到 Ubuntu 20.04 后它就坏了。
我错过了什么?
我即将用 4 个 AMD 6174 升级戴尔 R815 的 RAM。当前的工作配置是 8 x 16GB RAM(每个 CPU 2 个),规格未知。我将添加 24 x16GB 4Rx4 PC3L-8500R-07-10-F0-D2 M393B2K70CM0-YF8 1129
我听说混合来自不同供应商的 RDIMM 可能会导致稳定性问题——即使它们在纸上是兼容的。有这方面的文件吗?
如果是这样:我可以通过将现有的 8 个 RDIMM 移动到单个 CPU 并将 24 个新的 RDIMM 放在剩余的 CPU 上来缓解这种情况吗?
有人告诉我,如果您购买更大容量的 SSD,您可以获得更长的 SSD 使用寿命。推理是,较新的 SSD 具有磨损均衡,因此无论您是否将这种写入分布在(逻辑)磁盘上,都应该维持相同的写入量。如果你的 SSD 是你需要的两倍大小,那么你就有两倍的容量来进行磨损均衡。
这有什么道理吗?
我制作了一个外部脚本(用 Perl 编写的 snmp_max_io)。当使用 IP 地址运行时,它会将输入记录到 syslog 并打印单个 64 位数值并将退出值设置为 0。
示例输出:
916418801
我已将它添加到 /usr/lib/zabbix/externalscripts 中,我有一个不同的脚本,它可以工作。
我已经配置了一个项目:
一段时间后,Zabbix 将状态更改为:“不支持”和“接收到的值 [] 不是数字”。
当以 root 或 zabbix 身份在命令行上运行时,该命令可以正常工作。
但是 zabbix 服务器永远不会运行该命令(没有记录任何内容)。
我如何找出为什么 Zabbix 认为该命令返回 [] 而它显然从未运行它?
解决方案在评论中:脚本必须是 bash 脚本。所以一个 perl 脚本必须有一个 bash 包装器。
我使用“模板 SMNP 接口”来监控交换机。
它给了我这样的键: ifOutOctets[16]
我想要一个涵盖所有端口的项目:
MaxOutOctets = max(ifOutOctets[*])
我可以在图表中使用。
我已阅读 https://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/calculated 但我似乎无法获得正确的语法。
我有一个要扩展的 RAID60。
当前是:2 个轴,每个轴有 9 个磁盘 + 2 个备用磁盘。
未来是:4 个轴,每个轴有 10 个磁盘 + 1 个备用磁盘。
所以我需要做一些 --grow 来重塑驱动器。
我认为这就足够了:
mdadm -v --grow /dev/md1 --raid-devices=10 --backup-file=/root/back-md1
mdadm -v --grow /dev/md2 --raid-devices=10 --backup-file=/root/back-md2
mdadm -v --grow /dev/md0 --raid-devices=4 --add /dev/md3 /dev/md4
最后一个命令有效,但前 2 个命令失败并显示:
mdadm: Need to backup 7168K of critical section..
mdadm: /dev/md2: Something wrong - reshape aborted
我怎样才能 --grow RAID6 以使用更多设备?
关于系统的信息:
$ mdadm --version
mdadm - v3.2.5 - 18th May 2012
$ uname -r
3.5.0-17-generic
Makefile 重现问题:
all: install_parallel createmd0 createmd3 createmd4
install_parallel:
parallel --version || wget -O - pi.dk/3 | bash
loop:
# make enough loop-devices
seq 0 50 | parallel mknod -m 660 /dev/loop{} b 7 {} || true
seq 0 50 | parallel dd if=/dev/zero of=l{} bs=1M count=1
seq 0 50 | parallel losetup -f l{}
createmd1: loop
mdadm --create /dev/md1 -c 128 --level=6 --raid-devices=9 -x 2 /dev/loop1? /dev/loop1
createmd2: loop
mdadm --create /dev/md2 -c 128 --level=6 --raid-devices=9 -x 2 /dev/loop2? /dev/loop2
createmd3: loop
mdadm --create /dev/md3 -c 128 --level=6 --raid-devices=10 -x 1 /dev/loop3? /dev/loop3
createmd4: loop
mdadm --create /dev/md4 -c 128 --level=6 --raid-devices=10 -x 1 /dev/loop4? /dev/loop4
createmd0: loop createmd1 createmd2
mdadm --create /dev/md0 -c 512 --level=0 --raid-devices=2 /dev/md1 /dev/md2
grow:
mdadm -v --grow /dev/md1 --raid-devices=10 --backup-file=/root/back-md1
mdadm -v --grow /dev/md2 --raid-devices=10 --backup-file=/root/back-md2
mdadm -v --grow /dev/md0 --raid-devices=4 --add /dev/md3 /dev/md4
info:
mdadm --version
uname -r
clean:
mdadm --stop /dev/md0 /dev/md? || true
seq 0 50 | parallel losetup -d /dev/loop{} || true
seq 0 50 | parallel rm l{}
我被xfs' No space left on device击中了。根据常见问题:
http://xfs.org/index.php/XFS_FAQ#Q:_Why_do_I_receive_No_space_left_on_device_after_xfs_growfs.3F
解决此问题的唯一方法是四处移动数据以释放 1TB 以下的空间。找到最旧的数据(即在第一次增长之前就已经存在)并将其从文件系统中移出(移动,而不是复制)。然后,如果您将其复制回去,数据块最终将超过 1TB,这应该为您留出足够的空间用于 1TB 以下的索引节点。
但是我如何识别要移动的数据呢?我不能按年龄分类,因为前 10 TB 是在同一天使用rsync
.
我努力了:
xfs_db -r -c "blockget -i 1 -n -v" /dev/md3
但我似乎只得到文件的基本名称而不是文件的完整路径。而且由于我的很多文件都被称为相同的(但在不同的目录中),所以这不是很有用。而且它似乎给了我更多信息,只是 inode 1。
我有一种感觉,我可以使用xfs_db
它来告诉我哪些文件正在使用前 1 TB 中的块,但我一直看不到如何使用。
(通过使用 mount 选项inode64
,文件系统不会给出No space left on device,但是如果您以后忘记使用 mount 选项inode64
,那么您将再次获得No space left on device。我想避免使用 mount 选项inode64
,因为文件系统可能被其他人安装在其他系统上,他们会忘记这一点,因此会得到令人惊讶的No space left on device)。
这类似于从 Raid6 mdadm 中掉出 3 个驱动器 - 重建?除了它不是由于电缆故障。相反,第三个驱动器在重建另一个驱动器期间掉线了。
驱动器出现故障:
kernel: end_request: I/O error, dev sdc, sector 293732432
kernel: md/raid:md0: read error not correctable (sector 293734224 on sdc).
重新启动后,这两个扇区及其周围的扇区都很好。这让我相信错误是间歇性的,因此设备只是花了太长时间来纠正扇区并重新映射它。
我希望在失败后没有数据写入 RAID。因此,我希望,如果我可以将最后一个故障设备联机,则 RAID 正常并且 xfs_filesystem 正常,可能缺少一些最近的文件。
对 RAID 中的磁盘进行备份需要 24 小时,所以我更希望该解决方案在第一时间起作用。
因此,我设置了一个测试场景:
export PRE=3
parallel dd if=/dev/zero of=/tmp/raid${PRE}{} bs=1k count=1000k ::: 1 2 3 4 5
parallel mknod /dev/loop${PRE}{} b 7 ${PRE}{} \; losetup /dev/loop${PRE}{} /tmp/raid${PRE}{} ::: 1 2 3 4 5
mdadm --create /dev/md$PRE -c 4096 --level=6 --raid-devices=5 /dev/loop${PRE}[12345]
cat /proc/mdstat
mkfs.xfs -f /dev/md$PRE
mkdir -p /mnt/disk2
umount -l /mnt/disk2
mount /dev/md$PRE /mnt/disk2
seq 1000 | parallel -j1 mkdir -p /mnt/disk2/{}\;cp /bin/* /mnt/disk2/{}\;sleep 0.5 &
mdadm --fail /dev/md$PRE /dev/loop${PRE}3 /dev/loop${PRE}4
cat /proc/mdstat
# Assume reboot so no process is using the dir
kill %1; sync &
kill %1; sync &
# Force fail one too many
mdadm --fail /dev/md$PRE /dev/loop${PRE}1
parallel --tag -k mdadm -E ::: /dev/loop${PRE}? | grep Upda
# loop 2,5 are newest. loop1 almost newest => force add loop1
下一步是重新添加 loop1 - 这就是我被卡住的地方。
之后进行 xfs-consistency 检查。
如果可行,请检查该解决方案是否也适用于真实设备(例如 4 个 USB 记忆棒)。
在批处理脚本中,我经常通过 ssh 多次登录同一个系统。例如
seq 1000 | parallel -j0 -S server echo
这会触发竞争条件并给出错误:
/usr/bin/xauth: error in locking authority file /home/user/.Xauthority
我怎样才能避免这种情况?
我想:
据我所知,我应该能够在/etc/security/limits.conf
(或在/etc/security/limits.d/*
)中做到这一点:
* soft rss 64000000
* hard nofile 50000
* soft nofile 1024
但是,我无法找到一种无需重新启动即可重新加载这些值的方法。我读到登录时会重新加载这些值;当我这样做时它会起作用,su - user
但它不会通过ssh user@localhost
.
我在 /etc/pam.d 中有 pam_limits.so:
/etc/pam.d/login:session required pam_limits.so
/etc/pam.d/sshd:session required pam_limits.so
/etc/pam.d/su:session required pam_limits.so
我在 sshd_config 中有 PAM:
/etc/ssh/sshd_config:UsePAM yes
我知道我可以使用ulimit
和设置值sysctl
,但我想测试它/etc/security/limits.conf
是否在不重新启动的情况下做正确的事情。
当人们在不重启的情况下使用 ssh 登录时,如何确保设置了这些值?