跳到主要內容

發表文章

目前顯示的是 6月, 2012的文章

Mutiple listening squid w/wo authentication

squid 要設定 ncsa_auth 認證其實不難, 有趣的是我們也可以利用 myport 來產生一個 acl squid 的 acl 跟 iptalbes 的 rule 很像, first match first apply. 所以我們可以設定從某些 port 來的 request 不需要密碼驗證, 其他的則必須要密碼驗證。另外也可以加入允許連連線的來源網址,只要注意規則的順序就好囉! # vi /etc/squid/squid.conf  http_port = 3128  # listensing port B http_port = 9999  # listensing port B   # Enable ncsa_auth  (htpasswd -c /etc/squid/passwd username ) auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off   # Add filter for ncsa auth acl lab_lan src 172.18.0.0/22 172.18.4.0/22 # multiple CIDR network acl ncsa_users proxy_auth REQUIRED acl no_auth myport 9999 http_access allow no_auth lab_lan http_access allow ncsa_users lab_lan # Deny others ...   http_access deny all

Transform putty ppk key to OpenSSH authorized_keys

在登入EC2的機器時,我們常會將 ssh key pair 轉換成 putty 的 ppk 以方便遠端登入。如果有天需要將這把 ppk 轉換成 OpenSSH 可以使用的 public key 要怎麼辦呢? 使用 puttygen 讀取 ppk,  接著點選 Save public key 將 public key 的內容存成遠端機器上的純文字檔 ssh-keygen -i -f {純文字檔} > OpenSSH_authorized_key cat openssh_authorized_key >> ~/.ssh/authorized_keys 這樣就可以用 ppk 來登入遠端的機器囉!

Tips for bundling EC2 RHEL image with ephemeral storage

如果在 EC2 選了一個 ebs block device 是 6G 的 image, 要怎麼重新 bundle 成自己要的  image 呢? 首先是要下載 ec2-ami-tools, 裝完後, 如果你的系統有被 ruby rvm 搞爛了...導致一執行 ec2-bundle-vol 就出現 require error, 那先暫時把 path 設回系統的預設值吧! export PATH=/usr/bin:$PATH, 這時候下 ec2-bundle-vol -c /mnt/cert-XXXX.pem -k /mnt/pk-XXXX.pem -u {userid} -e /mnt -d /mnt 理論上會因為 /mnt 空間太小或者 loop device 在做轉存 image 的過程中耗光了可用空間,導致 bundle 失敗..其實 EC2 所有的 instance 都有 local 的 ephermal storage, 只是有的 instance 預設不會幫你 mount 起來, 而且 EC2 也不保證放在ephermal storage 上資料的安全性。這時候我們可以去手動把這個空間 mount 來, 做成 bundle image 時的暫存空間。以 RHEL 6.0 來說, ephermal storage 的 device id 可能為 /dev/xvd{X}, 可以先用 fdisk 看一下大小, 然後再用 mkfs /dev/xvd{X} 將其格式化在手動 mount 起來! 假設我將 ephermal storage 掛在 /emp 下,那最後用 ec2-bundle-vol 的指令就會變成 ec2-bundle-vol -c /mnt/cert-XXXX.pem -k /mnt/pk-XXXX.pem -u {userid} -e /mnt,/emp -d /emp 有時候倒霉的話還會遇到說 rsync 版本太舊,建議 upgrade後再重新 bundle 一次....不過應該可以不理它, 因為 bundle 還是會繼續....

Setup Dell Equallogic iSCSI storage for ESX/ESXi Host

Dell Equallogic Multiple Path Extension For ESX 4 setup.pl --install --server={HOST} --bundle=c:\dell-eql-mem-esx4-1.1.0.222691.zip setup.pl --server={HOST} --configure --ips={iSCSI Client IP 1},{iSCSI Client IP 1} --nics={iSCSI Client Nic 1},{iSCSI Client Nic 2} --enableswiscsi --netmask={{iSCSI Client IP Netmask}} --mtu=9000 --enableswiscsi 如果 Client iSCSI vSwitch 已經設定過了, 在安裝 Equallogic MEM 的時候,很可能會出現錯誤說請先移除無效的vmknic。這似乎是 ESX 4/5 的一個 bug, vSwitch在被移除後, vmknic IP會被清空但是卻不會移除乾淨。尤其是當iSCSI device 還連線的話,連進ssh下指令也是無法移除vmknic。 ESX5 我的做法是: 1. 用vSphere Client移除 vSwitch 2. 用SSH登入ESX, 利用esxcli中斷該 vSwitch 的 iSCSI session esxcli iscsi session remove -A {iSCSI software adapter} 3. 移除該 vSiwtch 下,被清空但是未移除的 vmnic esxcli iscsi networkportal remove -A {iSCSI software adapter} -n {vmnicX} ESX 4 的話命令有點不一樣,不過原理都是一樣的。移除 vSwitch和其下的網卡,如果無法移除成功那就是還有 iSCSI session 存在,想辦法把他關掉或者重開機後就可以移除乾淨了。這時候就可以順利安裝 Equallogic 的 Plugin. ESX5 Dell Equallogic Plugin 在ESX5透過 vSphere CLI安裝總是會失敗(ESX 4是正常的),我的做法是: