Skip to content

SmartOS上更新虚拟机配置

这里以一个SmartOS zone更新IP及网关为例。

用到的命令是vmadm update UUID < json.file。相关配置都需要以json的格式给出,这个我有点不习惯。或许还有其它方式,不过我不了解。

Read more

Triton headnode的状态检查

headnode启动后可以运行sdc-healthcheck命令来查看各个服务的状态。

正常应该都是online的状态。像上面的输出中,有两个zone处于svc-err,意味着这两个zone上有服务出现错误。我们可以登陆上去检查、修复。  

sdc-login redis用于登陆的redis这个zone上;svcs -xv列出有错误的服务;可以看到是redis服务启动失败;svcadm restart redis重启此服务,然后用svcadm clear redis来清除它原来的maintenance状态,再次用svcs -xv来确认服务已经正常启动。 同样可以来修复amoneredis zone上的错误。  

Read more

一次SmartDataCenter headnode启动失败的修复

headnode启动时显示: hash mismatch press any key to reboot 重新启动了几次都是如此。即使是rescue模式也是一样。幸好这只是台测试用的机器,如果真的是一个负责整个数据中心的headnode无法启动,那后果简直不堪设想。目前我还没看到headnode有什么容错的方案。 记得上次关机之前运行了sdcadm experimental update-*命令更新过一些东西,或许是这个过程中出了什么问题。 尝试了几种方法,发现把headnode中的config文件备份下来,重新制作一个启动的U盘,然后把config文件再拷贝过去就可以重新启动了,原来的zones貌似都可正常启动。 具体如下: 把headnode启动U盘插入到一台Linux机器,把它根目录下的config文件拷贝出来。如果你的已经无法读取了,那我也没办法。 使用原来下载的img文件重新制作一个启动U盘。 使用此U盘启动headnode机器,使用rescue模式。同样需要在grub中设置os_console参数。 使用root登陆(密码文件在下载img文件的压缩包中) 登陆后设置网络,使此机器可以连通存放config文件的Linux机器。我要使用scp命令来复制。具体可参考SmartOS的网络配置方式。 在headnode机器上,进入到/mnt/usbkey目录中,将config文件复制到此文件夹下 完成后重新启动即可解决上述启动问题。2016/04/30 更新: 再次重启后发现headnode会默认使用PXE方式启动,这样无法启动headnode。修复方法是在headnode自动后,以root登陆,运行/usbkey/scripts/mount-usb.sh 脚本以挂载U盘,然后编辑/mnt/usbkey/boot/grub/menu.lst文件,将“default 0”这行改为“default 1”即可。0对应的就是PXE启动,1对应的就是“Live 64bit”的启动方式。

Read more

smartos上如何安装软件

SmartOS使用NetBSD的pkgsrc来安装软件。 具体方式如下: 安装pkgin工具: 先到 http://pkgsrc.joyent.com/packages/SmartOS/bootstrap/上看看最新的pkgin源码包是什么。如目前最新为bootstrap-2015Q4-x86_64.tar.gz 安装

重新编译软件包数据库

更新pkgin数据库

安装软件

pkgin常用命令列表 Command Description pkgin up Updates the pkgin database. You should run this command before installing any new packages just in case. pkgin ls Lists all the installed packages…

Read more

smartos上如何禁用密码登陆

我的smartos global zone直接接入互联网,整天被一些程序尝试自动登陆。我决定禁用密码登陆,只允许密钥验证登陆。这样,那些自动扫描程序在尝试连接系统SSH端口时就会被直接拒绝,不给他们猜密码的机会。

Read more
Sidebar