2012年11月25日 星期日

CentOS 5.8 及 6.3 RAID 1 設定 及 維護 (第一章)

因為網路上的文章大多不合初學的朋友.
於是自己整理了一下,希望大家一同研究研究.
(也為自己保存一份筆記 ^^)

我是在 VMESXI 5.1 上 , CentOS 5.8 及 6.3 測試的.

第一章 : 建立 Software RAID 1

RAID 1 的工作方式及原理:
由如硬碟的鏡像。意指當有資料寫入時,
資料同時生成兩個一模一樣的拷貝,並同一時間寫入兩個硬碟中.
因此,兩個 RAID 1 系統中的硬碟,裡頭的資料遠是一樣的.
如果,有任何一顆硬碟發生問題,對系統運作對資料儲存也均無影響.


想用 CentOS 5.X 的朋友,千萬千萬不要使用 5.8 以下的版本,
因為都有相當完整的 5.8 版本了,不要冒上當 RAID 有天要重建時,
連 MBR 也要自己手動重建的悲哀場面.

要先進的要跑 CentOS 6.X 的朋友,千萬千萬不要使用 6.3 以前的版本
(希望發文之後再會有新版本發行), 6.3 也只要新生的 6.X 版本,本身
也算是有成堆的問題需要解脫.不要冒上 當 RAID 有天重建時,
硬碟儲存區域不能重建的悲慘場面.

CentOS 5.8 跟 6.3 的作法相差無幾,因此以 CentSO 5.8 為例:
1) : 當然是要先 BOOT 起 CentOS 安裝光碟,
在安裝硬碟系統時選用 "建立自定的分割模式"



我們先把將兩個硬碟分別,分為兩組相同的三個區.

我用一對 16GB 的硬碟,作分區的例子如下:

2) : 先為硬碟 sda 分區:
a)先分 : 2000M 留作 SWAP
用 " RAID "

用 "建立軟體 RAID 分割區"

大小 (MB)(S) 自行攪上 " 2000 "
用 "固定大小"

再 "確定 "

b)用上述同樣手法, 再分 : 100MB 留作 Boot 用

c)接下來用 "固定大小" 把餘下的 14276MB 用作 " / " 也就是儲存東東的空間.

***** a) , b) 及 c) 千萬留意要用  "固定大小"  ,否則日後
可能發生不能重建 RAID 的悲劇!

d)再為硬碟 sdb 分區...(當然要和 sda 一樣的分割)





3) : 再用 " RAID "
用 "建立 RAID 裝置「預設為 /dev/md0」"

檔案系統掛載點 選 " / "
RAID 類型 選 : " RAID1 "
RAID 成員 選 : sda1 14276MB 及 sdb1 14276MB
再 "確定"

這樣就使那 sda1 及 sdb1 的 14276MB 成為 RAID1 的 " / " 也就是儲存東東的空間


再用 "RAID "

用 "建立 RAID 裝置「預設為 /dev/md1」"

檔案系統掛載點 選 " /Boot "
RAID 類型 選 : " RAID1 "
RAID 成員 選 : sda2 100MB 及 sdb2 100MB
再 "確定"

這樣就使那 sda2 及 sdb2 的 100MB 成為 RAID1 的 /BOOT 也就是 BOOT


再用 " RAID "

用 "建立 RAID 裝置「預設為 /dev/md2」"

檔案系統類型 選 : " swap "
RAID 類型 選 : " RAID1 "
RAID 成員 選 : sda3 2000MB 及 sdb3 2000MB
再 "確定"

這樣就使那 sda3 及 sdb3 的 2000MB 成為 RAID1 的 swap 也就是 swap


再 "下一步"

這樣再回歸到一般的安裝程序上,一步一步的根據自己的需要把系統安裝完成.


祝:大福

友:小漢上

相關文章 : CentOS 5.8 及 6.3 RAID 1 設定 及 維護 (第二章)-(修復 軟件 RAID 1)


2012年11月23日 星期五

在 CentOS 5.8 Final 及 6.3 VNCServer 登出後的問題


因為網路上的文章大多不合初學的朋友.
於是自己整理了一下,希望大家一同研究研究.
(也為自己保存一份筆記 ^^)

我是在 VMESXI 5.1 上 , CentOS 5.8 及 6.3 測試的.

如果,真的有用戶不識相,真的在 VNC 用戶端登出的話,
(包括用 VNC Viewer 或 瀏覽器) 都會使該名用戶的
VNC 端口進入 " 自閉 " 狀態.

解決方法:
1) 由其他賬戶端 (包括 ROOT) 登入系統.可以是直接到
系統的電腦跟前或經 VNC Server ,開動終端機攪入...

# service vncserver stop
# service vncserver start

把 VNC Server 強行終止及再起動.不過會即時影響所有
在線的用戶,因此大家要小心三思而後行.否則可能為一
個不識相的用戶而被其他所有用戶非議,就不值了.

2) 修改 X 設定檔 ( x = 用戶名字 , 如:root),不過 Centos 6.3 沒作用
# vi ~/.vnc/xstartup     //指 root/.vnc/xstartup 文檔

舉個例子,原本內容是
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &

現在我們改成
#!/bin/sh
# 加入下面這行來確定 xterm 會經常存在。
( while true ; do xterm ; done ) &
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &

那麼會當用戶一進入 VNC 用戶端時,終端機也會先跑出來,
就算該用戶登出使其 VNC 的用戶端口使之成為 " 自閉 " 狀況...
只要該用戶再次登入,其端口就會跑出個終端機來.

只要在終端機上攪上:
gnome 的話,輸入 gnome-session。
kde 的話,輸入 startkde。

那樣 GUI 就會回來了,算是最可行的方法.

不過缺點是終端機會永久長駐在 VNC 的 用戶端.只有把她縮至最小化,
才不會阻擋畫面,得以正常運作.


祝:大福

友:小漢上

2012年11月15日 星期四

在 CentOS 5.8 Final 及 6.3 加上 新 硬磁碟機

為網路上的文章大多不合初學的朋友.
於是自己整理了一下,希望大家一同研究研究.
(也為自己保存一份筆記 ^^)

我是在 VMESXI 5.1 上 , CentOS 5.8 及 6.3 測試

1) 磁碟分割:
開機完後,首先如何知道剛剛新加入的硬碟有被 CentOS 抓到呢?
可以使用 fdisk -l  指令來查看目前硬碟的狀況。

# fdisk -l

Disk /dev/sda: 17.1 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2088    16667437+  8e  Linux LVM

Disk /dev/sdb: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

其中可以看到 Disk /dev/sdb: 4294 MB, 4294967296 bytes 就是我們剛加入的硬碟,
目前還沒有分割任何的磁區,所以我們就開始分割吧。

# fdisk /dev/sdb

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): p

Disk /dev/sdb: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

我這直接將它切割為單一個主磁區,分割完後,可以再透過 fdisk -l 確認一次。

# fdisk -l

Disk /dev/sda: 17.1 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2088    16667437+  8e  Linux LVM

Disk /dev/sdb: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

2) 格式化磁碟:
再來就是使用 mkfs.ext3 對剛切出來的 /dev/sdb 進行格式化。

# mkfs.ext3 /dev/sdb

mke2fs 1.39 (29-May-2006)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
524288 inodes, 1048576 blocks
52428 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: done                          
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

三) 自動開機掛載:

先在 / 下建立 disk2 資料夾,供掛載 /dev/sdb 使用。

# mkdir /disk2

修改開機自動掛載設定檔 /etc/fstab
把 "/dev/sdb    /disk2    ext3    defaults   1 2 " 加入檔案的最後一行

如下面的例子:
/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0
/dev/sdb                /disk2                   ext3    defaults   1 2


透過 mount -a 方式直接重新掛載。

# mount -a
# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb on /disk2 type ext3 (rw)


最後再透過 df 指令確認是不是已經掛載成功。

# df

檔案系統             1K-區段     已用    可用 已用% 掛載點
/dev/mapper/VolGroup00-LogVol00
                      14378704   4053196   9583316  30% /
/dev/sda1               101086     23608     72259  25% /boot
tmpfs                   449552         0    449552   0% /dev/shm
/dev/sdb               4128448    139392   3779344   4% /disk2


祝:大福

友:小漢上