Thursday, February 25, 2010

CentOS4 iscsi initiators

iSCSI initiators 在 CentOS 4 與 CentOS5 使用上有點不一樣

1. 安裝

# yum install iscsi-initiator-utils

2. 設定

# vi /etc/iscsi.conf

DiscoveryAddress=ISCSI_TARGET_HOST_OR_IP
OutgoingUserName=ISCSI_USER_NAME
OutgoingPassword=ISCSI_PASSWORD
LoginTimeout=15

3. 啟用服務

# chkconfig iscsi on
# /etc/init.d/iscsi start

4. 確認

# fdisk -l
# tail -f /var/log/messages
# find /sys/devices/platform/host* -name "block*"

5. 格式化

# fdisk /dev/sdc
# mkfs.ext4 /dev/sdc1

ref

http://www.cyberciti.biz/tips/howto-centos-rhel4-iscsi-initiators.html

Sunday, February 21, 2010

apt-mirror : "apt-mirror is already running, exiting at /usr/bin/apt-mirror line 187"

如果執行 apt-mirror 出現這個錯誤

"apt-mirror is already running, exiting at /usr/bin/apt-mirror line 187"

通常是 apt-mirror 不正常結束所造成

請先檢查你的 base_path 在哪

base_path = /home/apt-mirror

則 /home/apt-mirror/var/apt-mirror.lock 刪掉
再重新執行 apt-mirror 即可

Tuesday, February 16, 2010

[CentOS] 初探 OpenIMPI 研究

OpenIMPI - Intelligent Platform Management Interface

OpenIMPI 他是一個硬體平台的管理介面,目的是讓不同廠商的管理軟體能夠透過一致的介面,管理不同的韌體和硬體平台,有效降低伺服器系統的設備總擁有成本。目前大部的 Server 或是 KVM 都會提供 OpenIMPI。
OenIMPI 是要是透過 BMC (baseboard management controller),他是獨立於主機的一顆特別的 IC , 他可以在主機當機時,仍然可以對系統做一些處置,如開關機。有些情況的當機純粹是軟體所造成的,只要重開即可,有了 OpenIMPI 就不用跑機房一趟,所以對 MIS 是非常好的工具。

除此之外,我們也可以透過 OpenIMPI 來做 Cluster 的 Fence Device, 這也是我要開始瞭解 OpenIMPI 的目的。


更詳盡的說明,請參閱 "嵌入式IPMI管理器可增強伺服器的可靠性"
http://www.eettaiwan.com/ART_8800335004_480402_NT_22631dba.HTM

[安裝]
OpenIPMI 有三個重要的組件 OpenIPMI, OpenIPMI-libs, OpenIPMI-tools
其中 OpenIPMI, OpenIPMI-libs 是用來提供服務, OpenIPMI-tools 則是提供查詢工具。

yum install OpenIPMI OpenIPMI-libs OpenIPMI-tools
chkconfig impi on
service impi start

[使用]
直接打 ipmitool 就可以顯示所有功能


ex. 顯示 sensor 所有數值
ipmitool sensor

ACPI STATE | 0x01 | ok
CPU0 Pres | 0x02 | ok
CPU1 Pres | 0x02 | ok
CPU0 TEMP | 48 degrees C | ok
CPU1 TEMP | 46 degrees C | ok
SYS TEMP | 22 degrees C | ok
CPU FAN1 | 6000 RPM | ok
CPU FAN2 | 6000 RPM | ok
CPU FAN3 | 6200 RPM | ok
CPU FAN4 | 6000 RPM | ok
CPU FAN5 | 6200 RPM | ok
CPU FAN6 | 6000 RPM | ok
CPU FAN7 | 6200 RPM | ok
CPU FAN8 | 6000 RPM | ok
CPU FAN9 | 6000 RPM | ok
CPU FAN10 | 6200 RPM | ok
SYS FAN1 | 6000 RPM | ok
SYS FAN2 | 5800 RPM | ok
CPU0 VCOREA | 1.39 Volts | ok
CPU1 VCOREA | 1.39 Volts | ok
VCC12V | 12.22 Volts | ok
VBAT | 1.84 Volts | cr
VCC3V3 | 3.27 Volts | ok
VCC5V | 5.07 Volts | ok
VCC3V3 DUAL | 3.30 Volts | ok
Watchdog | Not Readable | ns
POST ERROR | Not Readable | ns
MEMORY ECC | Not Readable | ns
PCI ERROR | Not Readable | ns


ex. 取 CPU1 溫度
ipmitool sensor get "CPU1 TEMP"

Locating sensor record...
Sensor ID : CPU1 TEMP (0x24)
Entity ID : 3.2
Sensor Type (Analog) : Temperature
Sensor Reading : 46 (+/- 0) degrees C
Status : ok
Lower Non-Recoverable : na
Lower Critical : 10.000
Lower Non-Critical : na
Upper Non-Critical : 70.000
Upper Critical : 90.000
Upper Non-Recoverable : na
Assertion Events :
Assertions Enabled : lcr- unc+
Deassertions Enabled : lcr- unc+


其他更進一步的指令,須回到公司替 Server 設定 IPMI 的 IP 才有辦法測試給大家。
等過完年吧~

Sunday, February 14, 2010

Linux Cluster for NFS 安裝及設定 - 隨筆記錄中

趁休假這段空檔,來做一下用 iSCSI 做 Linux Cluster 的 LAB
我會有兩台機器做為 Cluster Node, 再另一台機器提供 iSCSI 的 Shared Disk
環境如下

[環境]
下面是我在休假前準備的環境
1. Storage Ubuntu 9.10 192.168.1.20 作為Shared Disk使用
2. Node1 CentOS5.4 192.168.1.21 Cluster的節點一
3. Node2 CentOS5.4 192.168.1.22 Cluster的節點二
4. Service IP 192.168.1.25 Cluster的 Service IP

其中 Storage 未來可以改用 FreeNAS 來取代,由於機器不夠先暫時用我的電腦撐一下


[基礎知識]

首先,如果要能讓 Disk 具有 iSCSI 的功能 要安裝 iscsi-initiator-utils 套件
至於,如何掛載 Share Disk 則需要 iscsitarget 套件。


[Storage]
我們採用 iscsitarget 來做 Share Disk
由於 CentOS4 不提供 iscsitarget 套件,再者下載原始程式也是無法 Compile 成功,
所以如果要使用 CentOS ,建議用 CentOS5 所提供現成的套件。
a. 安裝
iscsitarget
b. 設定
vi /etc/ietd.conf

我新增下面三行
Target iqn.2010-02.com.testabc:storage.disk2.sys1.xyz
Lun 0 Path=/home/test.img,Type=fileio
Alias Test

其中 path 可以為 實體的 raw disk , 如 /dev/sdb1, 或是 image file
ex. 用 dd 產生 1G 的檔案
dd if=/dev/zero of=/home/test.img count=1000000 size=1024


vi /etc/default/iscsitarget
將 ISCSITARGET_ENABLE 設定 true
ex. ISCSITARGET_ENABLE=true
c. 啟動
設定好後
/etc/init.d/iscsitarget start

[Node1, Node2]
安裝 iscsi-initiator-utils 套件
yum install iscsi-initiator-utils

測試掛載 iscsi 磁碟
iscsiadm --mode discovery --type sendtargets --portal 192.168.1.20


測試登出 iscsi 磁碟
iscsiadm -m node -L all



列出所有 target
iscsiadm -m node

若無法登出,多半是 Share Disk 停止分享,
可以到下面的目錄將無法登出的目錄砍掉即可
/var/lib/iscsi/nodes

將設定寫入
vi /etc/iscsi/initiatorname.iscsi
DiscoveryAddress=172.16.8.109

chkconfig iscsi on
service chkconfig start

下次重新開機就會自動找到
注意:每個 iscsi export 出來的 mount 只能由一個 Node 掛載,不能同時兩個 Nodes 掛載。




參考網站
Open-iSCSI Project
http://www.open-iscsi.org

iSCSI Enterprise Target
http://iscsitarget.sourceforge.net

Saturday, February 13, 2010

[CentOS4] iSCSI 安裝與測試

[iSCSI 安裝]
下載地點 http://iscsitarget.sourceforge.net

目前最新版為 iscsitarget-1.4.19.tar.gz
iscsitarget 編譯時需要 kernel header,
透過 /lib/modules/[kernel 版本]/build 連結的地方找 kernel source
並進行 autopatch, RELEASE_NOTES 裡面會註明支援的 kennel 版本

我用 kernel 版本是 2.6.28.10

開始安裝吧~
tar zxvf iscsitarget-1.4.19.tar.gz
cd iscsitarget-1.4.19
make && make install

Thursday, February 11, 2010

[task] 2010 過年計畫

過年計畫

1. colinux 熟悉與操作

2. nfs cluster 使用

Wednesday, February 10, 2010

NoMachine NX 安裝報告

NoMachine NX 是一套遠端連線軟體,比 VNC 還要快
他目前有提供授權版本、免費的版本,以及 GPL 發行的 freenx
freenx 目前我裝起來有先問題 所以改進行 NoMachine 部份

NX 如同 VNC 一樣 , 在被連線的那端要裝 Server , 遙控端裝 Client
下載網址 http://www.nomachine.com/download.php

所以請在 Download 網址選擇 NX Free Edition
依照你的作業系統 安裝 Server, Node , Client 三個元件
至於 Client 只要安裝 Client 的元件即可


安裝後要注意一些地方

1. Free 版本只能兩個人使用

ref: /usr/NX/etc/server.lic
這個問題其實不大,而且可以克服
因為大部分的電腦都是個人使用,很少超過三個人

如果第三個人要用 只要到 vi /usr/NX/etc/users.db
把不要的人砍掉即可


2. VNC 的設定
如果透過 NX / FreeNX 連線到主機的 VNC
通常會有兩個問題 密碼找不到或是找不到 vnc server
請改 /usr/NX/etc/node.cfg 的 CommandStartRFB 參數

ex.
CommandStartRFB = "vncviewer -FullScreen -passwd /root/.vnc/passwd"

Saturday, February 06, 2010

Linux kenel 編譯註記

參考一些資料預計將下面參數加入

CONFIG_CONNECTOR=y
與使用者/核心層級的資訊溝通有關

這個參數和 DRBD 有關,如需使用則需要編入

另外如果使用 ATI 顯示卡 也需要編入
ref:http://wdicc.com/use-uvesafb/

ref: http://linux.vbird.org/linux_basic/0540kernel.php

Monday, February 01, 2010

[task] Build X (on going)

mesa 7.7 可以編譯成功,代表如果要編更大包 整個 X windows 系統,應該是有機會成功的。
之前編了好幾次都失敗 >_<

目的就是要解決 Intel On Board 顯示晶片在 CentOS 4 無法使用 1920x1080 解析度(21 吋) 的問題。

先整理一下文件
Intel Linux Graphics Driver Installation Guide
http://intellinuxgraphics.org/install.html

BuildingX
http://wiki.x.org/wiki/Development/BuildingX?action=show&redirect=Development%2Fgit

Building the DRI with X.org and Mesa
http://dri.freedesktop.org/wiki/Building

fresdesktop source
http://cgit.freedesktop.org/

http://xorg.freedesktop.org/archive/individual/driver/

[task] Mesa 7.7 compile (on going)

Mesa 7.7 編譯過程是我遇過非常繁雜的。

目前在 Ubuntu 可以編譯成功,但在 CentOS 還在努力當中。

目前先講 Ubuntu 部分

[Ubuntu]
0. 先假定我們要安裝到 /opt/mesa , 下載的 source 全部放在 /usr/local/src/build_mesa
記得安裝 apt-get install build-essential libx11-dev gcc4
由於我採用 gcc4 編譯 安裝到 /opt/mesa

請每次編譯時 ./configure prefix=/opt/mesa CC=/usr/bin/gcc4
以下文章以 ./configure 簡稱

1. 先到 Mesa 網站 http://www.mesa3d.org/relnotes-7.7.html
下載 MesaLib-7.7.tar.bz2 MesaDemos-7.7.tar.bz2 MesaGLUT-7.7.tar.bz2
解開全部後,先是一次 ./configure 她會告訴你缺 libdrm 。

沒關係 這裡給一個網站 http://paldo.org 這是一套 Linux Distrubtion
我們可以找到所有我們需要的 source 而且這個網站也會提供套件的相依性
所以當我們卡在某個套件無法編譯時,可以看看是否有缺哪些套件沒有先進行編譯

下載完 libdrm 她又會告訴你缺 pkg-config
回去再編 libdrm 她又會告訴你缺 libpthread-stubs-0.1
OK, 這會是一個超級迷宮,在編譯過程中會不斷出現,只能認命了

這裡提示一下 幾個重要的地方
a. pkg-config
編譯後 setenv PKG_CONFIG_PATH /opt/mesa/lib/pkgconfig
我們編譯過程 py 檔幾乎都乎都會放在這個目錄,除了 xtrans 以外
其他編譯的程式若需要參考 .py 我們就設定這個變數讓他到這目錄找

b. xtrans
編譯 xtrans 之後 將 xtrans.pc 放到 $PKG_CONFIG_PATH
cp /opt/mesa/share/pkgconfig/xtrans.pc $PKG_CONFIG_PATH

c. 如果忘記編到那忘記了
很簡單 回到第一層 mesa-7.7 重新 ./configure 就會告訴你缺什麼了

[CentOS]

仍待測試... 尚未成功 整理中
下面為編譯順序 卡在 libxcb ,

pkg-config
setenv PKG_CONFIG_PATH /users/acty.chen/work/GPU2/lib/pkgconfig


libptheard-stubs
pixman
cario


dri2proto

xproto
xextproto

xtrans
cp ../../GPU2/share/pkgconfig/xtrans.pc ../../GPU2/lib/pkgconfig/xtrans.pc


Python

setenv PATH ~/work/GPU2/bin:$PATH
xcbp-proto
libXau
libxcb