在 VMware ESXi 中安装 OmniOS

〇、获取安装文件

第〇步,当然是搞一个安装文件回来

到 http://omnios.omniti.com/wiki.php/Installation ,弄一个当前稳定版或者 LTS 版本。

截至发稿,当前 LTS/Stable 版本为 r151014,相应的 ISO 文件链接为:
http://omnios.omniti.com/media/OmniOS_Text_r151014.iso

记得校验一下:
md5 (OmniOS_Text_r151014.iso) = 796fbfe1305f0e4922e9cf627d3e67c2
sha1 (OmniOS_Text_r151014.iso) = ff91fbfa2b01ca9ac61d5812570109c640c1ddd1

下载回来之后,用 ssh/scp 或者 vSphere Client 等将光盘镜像文件上传到 ESXi 的 datastore 中。

一、创建 ESXi 虚拟机

以下以 ESXi 5.5 为例。

选择自定义创建。
esxi-customize

OS 类型选择 Oracle Solaris 10 (64-bit)esxi-ostype

网卡类型选择 VMXNET3
esxi-nic

SCSI 控制器选择 LSI Logic Parallel
esxi-scsi

新建磁盘。如果只需要 OmniOS,那么新建一个 5GB 的磁盘就够了。OmniOS 官方建议 4.1 GB,最小 2.1 GB。为了升级及临时文件等需要,还是适当放宽一些。如果后续需要安装 Napp-it 作为上层的存储应用系统,那么建议的磁盘大小是 25GB。

在启动前,对虚拟机配置最后做一下编辑。首先是挂载 OmniOS 系统安装光盘镜像,并选择 Connect at power on
esxi-cdrom

虚拟机的创建即告完成。

二、安装 OmniOS

乏善可陈,基本上 F2(下一步)、F2、F2 ... 就完成了。好吧,我们的重点在于后续的 VMXNet3 万兆网卡的配置。

OmniOS 安装完成后,root 密码默认为空,需要你设置密码,及创建新普通用户用于 SSH 登录,或者修改 SSHd 配置文件允许 root 登录之类 balabala....

01-emptypwd

三、安装 VMware Tools 及 VMXNet3 网卡

OmniOS 没有自带 VMXNet3 网卡驱动,因此到了当前这步时,咱们是没有网络可用的,需要安装相关驱动。

首先,断开安装 OS 时为虚拟机挂接上的光驱设备。

VM -> Edit Settings

取消光驱设备的 ConnectedConnect at power on 选项。如果提示锁定之类的,直接点选 Yes 强制解除锁定即可。
2015-04-09_14-18-09

随后在控制台用以下命令开启 OmniOS 的即插即用服务。

svcadm enable hotplug

VM -> Guest -> Install/Upgrade VMware Tools

安装 VMware Tools 这个过程,VMware 是以向虚拟机挂载软件光盘,并尝试自动启动安装进程来进行的,遗憾的是,Solaris 类型的客户机并不能自动挂载光驱,还得手动操作一下。

先找出光驱设备名

ls –l /dev/dsk | grep ide | grep c\*s2

上图中的设备节点 c1t0d0s2,就是我们要找的东西,下面的命令则需要根据你的实际情况来调整。挂载光驱设备:

mount –F hsfs –o ro /dev/dsk/c1t0d0s2 /media

解压展开 VMware Tools 安装文件:

cd /tmp
tar zxvf /media/vmware-solaris-tools.tar.gz
cd vmware-tools-distrib
./vmware-install.pl

提示的所有问题,都用默认值回答,也就是一路狂按 Enter 键。

VMware Tools 安装完成之后,网卡驱动也随之就绪,我们可以开始配置网卡了。

dladm show-link

02-nic

网卡设备 vmxnet3s0 state unknow,为不可用状态。我们为其添加 IP interface

ipadm create-if vmxnet3s0

接下来为该 Interface 添加 IP 地址等参数:

ipadm create-addr –T static –a <IP-address>/24 vmxnet3s0/v4

这时,你再使用 dladm show-link 及 dladm show-phys,应该会得到以下输出:
2015-04-09_14-46-45

设置默认网关路由:

route –p add default <Gateway-IP-address>

指定 DNS 解析服务器并激活:

echo 'nameserver <Nameserver-IP-address>' >> /etc/resolv.conf
cp /etc/nsswitch.dns /etc/nsswitch.conf

 

大功告成,OmniOS 安装告一段落。

对了,建议参照 OmniOS Shell Env Check List 所述,对 OS 环境进行设置以改善操作体验。

VMware 下 CoreOS OVA 镜像的安装与配置

此文提供了在 VMware ESXi/Workstation/Fusion 上安装 CoreOS ova 镜像及其基本配置的有关信息,并以 CoreOS release 557 为例。

CoreOS 是一个新的 Linux 分发版本,它设计用来为集群部署提供基础架构。

本文包含以下主题:

  • 安装介绍
  • 集成 Open VM Tools

安装介绍

从版本 540.0.0 开始,CoreOS 引入了对虚拟机 OVA 格式的支持。作为推荐的方式,以下安装指引也只面向 OVA 镜像。

前置需求

检验是否完成以下步骤:

  • Read General Installation Instructions for All VMware Products.
  • Read General Knowledge for CoreOS at https://coreos.com/docs/quickstart/.

注:

安装步骤

1、将文件 coreos_production_vmware_ova.ova 上传到 Workstation/Fusion/ESXi 的 Datastore。

2、部署 CoreOS 虚拟机到 VMware。

在 VMware Workstation 或 Fusion 上部署 CoreOS 虚拟机:

1、打开文件 coreos_production_vmware_ova.ova 所处位置,并用 VMware Workstation 或 Fusion 打开。
2、编辑其名称及存储路径,然后点击导入/Import 按钮。
3、当遇到以下警告信息时,点击重试/Retry 按钮。
retry

在 VMware vSphere 上部署 CoreOS 虚拟机:

1、打开 vShere C# 客户端,或使用任何能连接到 vCenter Server 的 vSphere C# Client 或 vSphere Web Client,并连接至你的 ESXi 实例。
2、浏览至 文件/File -> 部署 OVF 模板/Deploy OVF Template,并点击浏览并定位到 coreos_production_vmware_ova.ova 所处的路径。
3、继续余下的步骤以完成虚拟机创建。

3、CoreOS 虚拟机的自动登录。

执行以下步骤以访问 CoreOS 虚拟机:

1、打开 CoreOS 虚拟机电源,并打开控制台。
2、当 Boot Loader 提示出现的时候,按下 e 键来编辑 GRUB 菜单。
3、添加 coreos.autologin 作为启动参数,并 Ctrl-x 或 F10 重启。这将使控制台跳过登录提示并直接进入用户 core 的 shell。
autologin
4、给用户 core 设置密码用以 SSH 访问。
ssh

4、Cloud-Config 文件

注:Cloud-config 文件位于 /usr/share/oem/cloud-config.yml 。访问 Cloud-Config Validator ,或者运行 coreos-cloudinit -validate 以验证 cloud-config 在该 CoreOS 虚拟机中可用。

1、为用户 core 设置 SSH 公钥。
2、从你的客户端生成一个新的 SSH key。
ssh-keygen -t rsa
3、输入一个 passphrase,并检查 id_rsa 和 id_rsa.pub 是否已经生成。
4、检查 CoreOS 虚拟机的 IP 地址。
5、登录到 CoreOS 虚拟机并编辑 /usr/share/oem/cloud-config.yml 文件。
cloudconfigyml
6、拷贝 RSA 公钥 id_rsa.pub 的内容到 ssh_authorized_keys 里。
ssh-rsa [id_rsa.pub.content.here]
sshkey
7、重启 CoreOS 虚拟机并用 RSA 私钥校验是否能登录。
[root@localhost .ssh]# ssh -i id_rsa core@[your.ip.address.here]
sshlogin

更多关于cloud-config自定义的信息,请参考 cloud-config 指南

完成首台虚拟机 user_data 自定义之后,你就可以部署更多的 CoreOS 虚拟机来设置 CoreOS 集群。

Open VM Tools

CoreOS 490.0.0 及其后版本已包含 open-vm-tools —— VMware Tools 的开源实现。更多信息,参考 VMware support of open-vm-tools (2073803)

OmniOS Shell Env Check List

bash Shell

~/.profile

#!/bin/bash
# Solaris 衍生的 OS,默认都将 GNU 路径放在前面
# 而支持 ACLs 的 ls/chmod ,是在 /usr/bin 目录中的
export PATH=/usr/bin:/usr/sbin:/sbin:/usr/gnu/bin

export TERM=xterm-color

# Enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors &amp;&amp; eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='/usr/bin/ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# Some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

~/.vimrc

set nocp
set bs=2
syntax on

./.inputrc

"\e[1~": beginning-of-line     # Home
"\e[4~": end-of-line           # End
"\e[5~": beginning-of-history  # PageUp
"\e[6~": end-of-history        # PageDown
"\e[3~": delete-char           # Delete
"\e[2~": quoted-insert         # Insert
"\eOD": backward-word          # Ctrl+Left
"\eOC": forward-word           # Ctrl+Right

/etc/default/init

TZ="Asia/Shanghai"
CMASK=022
LANG=en_US.UTF-8

转 [译] 为什么我们找不到前端工程师?

原文为 Why can’t we find Front End developers? 作者是 Jose Aguinaga,前端工程师、用户体验设计师跟热爱 JavaScript 的软件工程师。

正文开始


有天,作者偶然在 Quora 上发现一个跟前端工程师及新创公司有关的问题:为什么新创公司很难找到前端工程师?

该讨论串的原 PO 提到:

(前略)我想多数人都同意前端开发比其他软件工程领域简单一些,那到底为何那些新创公司还是很难找到前端工程师?

我看到几个不错的回应,这些回应大多一针见血。而根据过去我寻找前端职缺,面试前端工程师,以及平常在前端项目里的工作经验,以下提出我的个人意见:

Continue reading

Install ShadowSocks Client as a Windows Service

1/ Install Node.js

http://nodejs.org/

2/ Install ShadowSocks

Open Node.js command line environment, and type following command:

npm install -g shadowsocks

3/ NSSM Configure

Download from http://nssm.cc/

Run nssm.exe from command line window.

nssm.exe install

nssm service installer

 

 

 

 

 

 

Key parameters:

Parameter Description Example Value
Path ShadowSocks client full path. C:\Users\Administrator\AppData\Roaming\npm\sslocal.cmd
Startup directory ShadowSocks config file location. C:\xxxxx\AuthInfo
Arguments ShadowSocks startup parameter, include config file name. -c Linode_ShadowSocks_Local.json

 

Example Screen:

TAB Application:

nssm_application_tab

 

 

 

 

 

 

TAB Details

nssm_detail_tab

 

 

 

 

 

 

TAB Log on

nssm_logon_tab

将 Tomcat 7 默认端口更改为 1024 以下 (Linux)

以 Ubuntu 14.04 LTS / tomcat 7 为例。

1) 安装 authbind

apt-get install authbind

2) 使 80 / 443 端口对 authbind 可用(以 root 权限操作):

touch /etc/authbind/byport/80
touch /etc/authbind/byport/443
chmod 500 /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/443
chown tomcat7 /etc/authbind/byport/80
chown tomcat7 /etc/authbind/byport/443

3) 在 Tomcat 中,置 IPv4 为默认 (authbind 当前不支持 IPv6)

要完成这个操作,须创建 TOMCAT/bin/setenv.sh 文件,并带上以下内容:

CATALINA_OPTS="-Djava.net.preferIPv4Stack=true"

如 setenv.sh 文件已存在且已定义 CATALINA_OPTS ,那可以这么做:

export CATALINA_OPTS="$CATALINA_OPTS -Djava.net.preferIPv4Stack=true"

4) 修改 /usr/share/tomcat7/bin/startup.sh

exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
# OLD: exec "$PRGDIR"/"$EXECUTABLE" start "$@"

5) 修改 /etc/default/tomcat7

AUTHBIND=yes
# OLD: AUTHBIND=no

6) 打开 /etc/tomcat7/server.xml

将 8080 更改为 80,8443 更改为 443。

7) 重启 tomcat 服务

service tomcat7 restart

VMware Workstation VM Background 后不能重连解决一例

VMware Workstation VM Background 后不能重连,VNC倒是一直可连接。

看VMs的日志,有如下行:
2014-06-26T18:11:39.534+08:00| vmx| W110: CnxHandleConnection: WSASocket returned error 10022.
2014-06-26T18:11:39.534+08:00| vmx| W110: VMAutomation: Cnx_CompleteAsyncOperation() failed.

搜 VMware Community,是 Socket Provider 有冲突,接下来要做的就是识别出来。
微软有个 Autoruns 工具(http://technet.microsoft.com/en-us/sysinternals/bb963902),可以定位出 Socket Provider。

下载运行之后,到 “Winsock Providers” TAB,发现有VMware、迅雷及Apple的几个Entry,将迅雷相关的行删除并重启计算机后,故障消失。

Nexenta Sample /etc/power.conf (for Home Env.)

device-dependency-property removable-media /dev/fb

autopm enable
autoS3 disable

cpupm enable poll-mode
cpu-threshold 1s

device-thresholds /pci@0,0/pci15ad,790@11/pci15ad,1976@1/sd@0,0 10m
device-thresholds /pci@0,0/pci15ad,790@11/pci15ad,1976@1/sd@1,0 10m
device-thresholds /pci@0,0/pci15ad,790@11/pci15ad,1976@1/sd@2,0 10m
device-thresholds /pci@0,0/pci15ad,790@11/pci15ad,1976@1/sd@3,0 10m
device-thresholds /pci@0,0/pci15ad,790@11/pci15ad,1976@1/sd@4,0 10m
device-thresholds /pci@0,0/pci15ad,790@11/pci15ad,1976@1/sd@5,0 10m

device-thresholds /pci@0,0/pci15ad,1976@10/sd@0,0 10m
device-thresholds /pci@0,0/pci15ad,1976@10/sd@1,0 10m

system-threshold always-on

效率

社会效率现在高了啊

在阿里云全新备案。

从购买阿里云ECS,到备案下来,以前起码得20天,这次3自然日不到就完成。神速!

Apple 开发者公司账户。

从注册全新 ID,到DUNS Number申请,到收到邮件可以付款,以前也起码得20天,这次8个自然日不到完成。神速!

不过在中国,注册个公司开业,仍然是不容易。