我的目标是在小型OpenSolaris NAS(在HP Microserver N54L上运行OmniOS + napp-it)与SATA磁盘相结合,实现自动备份例程。 背景: 我已经安装了其中一个5.25“ – > 3.5”无托盘HDD托盘,其中包含一个端口,一个电源button和一些LED(电源和硬盘活动)的简单SATA或SAS / SATA背板。 要备份多个硬盘(每周一个硬盘,存储在异地),我写了一个脚本,使用zfs send/recv来转储包括所有快照的所有快照(仅更新新块)。 这个脚本工作正常,当我手动启动它。 我想进一步实现这个过程的自动化,因为NAS没有连接直接的VGA或串口控制台,插入磁盘,返回到桌面系统,login到Web界面或SSH并手动启动脚本是很繁琐的。 通过cron作业定时启动不是一个选项,因为备份的日子可能会有所不同(忘记磁盘,假期等)。 因此,插入磁盘后应该立即开始备份。 问题: 在脚本中,我使用cfgadm连接+configuration,稍后取消configuration+断开磁盘。 如果我只插入磁盘,并且它旋转起来,我无法知道磁盘在那里。 我已经考虑过可能的解决scheme: 每隔x分钟使用cfgadm -f -c connect连续检测新磁盘和zpool,并检查错误结果。 不是很优雅。 每隔x分钟检查/var/adm/messages并为设备path或AHCI进行刷新。 不可能,因为只有手动连接设备时才会写入消息。 使用iostat -En 。 显示磁盘,但我不得不grep确切的序列号,因为它没有列出端口信息。 还需要每x分钟完成一次。 使用带有SELECT语法的cfgadm过滤sockets状态。 不起作用,因为插入不会触发任何东西(也许背板太便宜了)。 识别机箱的电源开/关。 会没事的,但我不知道如何做到这一点。 重新制作电源button或在机器上添加另一个button。 可以工作,但我也不知道如何做到这一点。 我想我会需要两件事情: 一种可靠的方法来识别磁盘和端口状态的组合(所以只有在正确的插槽中正确的磁盘被检测到) 一种方法来注册这个检测并触发一个事件(启动shell脚本) 这可能吗? 如果不是,你会build议作为替代scheme吗? 最终解决scheme(2015-01-26更新): 对于将来有类似问题的人: 在OmniOS中启用AHCI热插拔,详见gea 接受的答案 。 在我自己的回答中详细介绍syseventadm ,以便在磁盘联机时触发备份脚本。 确保您的电缆,控制器和磁盘没有故障,并且能够很好地协同工作(我遇到了WD SE […]
我是Solaris新手。 我有一台运行附加的J4400和一些内部驱动器的Solaris 10u8机器。 我们使用的是多pathSAS I / O(stmsboot; mpathadm),所以设备挂载点已经从正常的c0t5d0移到长string – 在c0t5d0的情况下,现在是/dev/rdsk/c6t5000CCA00A274EDCd0 。 (我可以看到这与stmsboot -l0 。 通常,在Solaris系统上更换磁盘时,我将运行cfgadm -c unconfigure c0::dsk/c0t5d0 。 但是, cfgadm -l不会列出c6,也不会列出任何磁盘。 实际上,运行cfgadm会得到以下结果: bash#cfgadm -l / dev / rdsk / c0t5d0 Ap_Idtypessockets乘员条件 / dev / rdsk / c0t5d0:未find匹配的库 bash#cfgadm -l / dev / rdsk / c6t5000CCA00A274EDCd0 cfgadm:未find附件点 bash#cfgadm -l c6t5000CCA00A274EDCd0 Ap_Idtypessockets乘员条件 c6t5000CCA00A274EDCd0:未find匹配的库 那么 – 如何pipe理和删除Solaris […]
我们有一个大的web项目(每秒约2-3k个请求),使用haproxy( http://haproxy.1wt.eu/ )作为前端和Java应用程序服务器之间的负载平衡器。 前端(haproxy)在Linux上运行,但我们将把它迁移到Solaris 10上,因为我们所有的其他服务器都在Solaris下运行。 切换stream量后,我看到了两件事情:a)网站加载速度较慢(与图像相比,5-10秒,而在Linux上是2-3秒)b)有时haproxy无法执行“lifecheck”网页和分析http响应代码)由于套接字超时。 将stream量切换回Linux后,一切都可以。 我试图调整我在/ dev / tcp中find的所有参数,但没有任何进展。 我相信问题是在一些开放的套接字限制。 如果有人能指出我的答案,我将不胜感激。 ps haproxy在Linux(10 u8)的区域下在Linux(内核2.6.18,Debian 5)上的Xen DomU下运行。 我们在Linux上做的唯一事情就是增加ip_conntrack_max(我相信Solaris选项tcp_conn_req_max_q是等价的)。
我们有一个繁忙的服务器,至less在高IO负载下,这是我的感觉。 iostat -xz输出如下所示: extended device statistics device r/sw/s kr/s kw/s wait actv svc_t %w %b sd5 224.8 157.8 10701.8 6114.7 0.0 9.5 24.7 0 100 sd5 243.2 110.4 11565.3 4065.0 0.0 9.7 27.5 0 100 很显然,磁盘子系统过载,因为一个6驱动器的SATAarrays25毫秒的服务时间是不可接受的,100%的忙也意味着我们在磁盘IO上堵塞。 但是 – 为什么总是wait 0.0 ? 为什么%w也是0? %w有时会变为1 ,并很快返回到0 。 这是不是意味着没有进程正在等待IO? RAID控制器不知何故导致这个结果/掩盖了等待时间? 有人可以解释这种行为吗?
什么是Solaris hostname -f命令的Solaris等价物? 在Solaris上,当我键入hostname ,我收到短名称,但我需要获取FQDN。 键入hostname -f将短名称设置为“-f”, hostname的联机帮助页是可怜的。
我想在Solaris 10和Ubuntu 11.10上使用SNMP收集文件系统空间信息。 问题是SNMP似乎没有对应于df的“可用”列的属性。 例如,这里是我的本地文件系统的df -k输出: Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb1 36841040 13489312 21480268 39% / 以下是SNMP守护进程的相关属性(按照Net-SNMP文档 ): HOST-RESOURCES-MIB::hrStorageDescr.31 = STRING: / HOST-RESOURCES-MIB::hrStorageSize.31 = INTEGER: 9210260 HOST-RESOURCES-MIB::hrStorageUsed.31 = INTEGER: 3372328 HOST-RESOURCES-MIB::hrStorageAllocationUnits.31 = INTEGER: 4096 Bytes 现在9210260*4 = 36841040和3372328*4 = 13489312 ,它们与df输出中的列匹配。 但是,我看不到与“可用”列相对应的任何属性。 请注意,这不仅仅是减去两列的问题 – “可用”列似乎考虑了每个文件系统不同的隐藏开销。 有没有办法使用SNMP收集或计算“可用”列信息?
我已经在电脑上安装了OS 11 x64,以评估这是否可以成为我的48TB家庭存储arrays新系统。 我有一个非常基本的问题:我不知何故无法使用安装时创build的pipe理员密码访问root。 我目前以pipe理员@ solaris的身份login,但为了configurationzfs等,我需要root权限。 如何重置root密码或暂时将其删除? 谢谢,丹
我使用COMSTAR在OpenIndiana服务器上创build了多个iSCSI目标。 基本上: zfs创build-V 10g池/ comstar / vol sbdadm create -u / dev / zvol / rdsk / pool / comstar / vol stmfadm add-view 600144F077000000000048C62BF00001 itadm创build目标 这是最后一部分我很难理解,因为我不告诉它要使用什么LU。 我假设它会使用任何可用的LU,但是在我创build了其中一些之后,我怎么知道哪些目标映射到了哪些LU? 我找不到任何相关信息。 'stmfadm list-lu -v'列出LU GUID和数据文件(例如/ dev / zvol / rdsk / pool / comstar / vol /) 'itadm list-target -v'和'stmfadm list-target -v'给我的目标IQN,但没有关于他们映射到的物理卷/ LU的信息。 这似乎是你通常想知道的事情,但我似乎错过了一些东西。
我想通过期望在Linux和Solaris机器上运行sshd restart(我期望在我的ksh脚本中运行) 我创build期望的脚本,所以当期望看到提示符“#”然后他运行sshd重启 但问题是,我也运行这个期望也solars和提示有“>”,所以如何创build一个支持“#”和“>”提示行 在Linux上 expect # {send "/etc/init.d/sshd restart\r"} 在solaris expect > {send "/etc/init.d/sshd restart\r"}
我有一台HP D6000(有时称为MDS 600)存储arrays,带有一个LSI 9207-8e SAS适配器的HP DL380p G8。 当我在OmniOS(Solaris 10 fork)中时,例如dd可以连接到其中一个磁盘,但是我没有看到HDD指示灯闪烁。 在存储arrays的正面是硬盘数字, 而且他们从不点亮。 我怀疑他们应该是绿色的手册 : Green: The drive is online, but is not currently active. Off: The drive is offline, a spare, or not configured as part of an array. 如果我进入LSI设置,那么我可以使用testingfunction获取号码和硬盘来点亮。 题 上面的离线消息意味着什么,如何激活它们,以便我可以将这些磁盘用作ZFS的JBOD?