Sharing

2011年8月30日 星期二

大玩特玩 LVM

參考文件:

主要是

http://linux.vbird.org/linux_basic/0420quota.php#lvm
http://linux.vbird.org/somepaper/20050321-LVM-1.pdf

http://ericfoto.com/618
http://blog.csdn.net/xjtuse_mal/article/details/5504768
http://tonychou.posterous.com/lvm



查看一下現在整個系統內有幾個 partition.
pjack@ubuntu1104-64-5:/dev$ sudo fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes 
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d41c2

# 從上面可以看到有一個 Disk, 大小為 500GB

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          32      248832   83  Linux       # 主要分割區 
/dev/sda2              32       60802   488134657    5  Extended    # 延申分割區
/dev/sda5              32       60802   488134656   8e  Linux LVM   # 邏輯分割, 對應到 LVM 內的一塊 lv


看一下 Physical Volume 的狀況
pjack@ubuntu1104-64-5:/dev$ sudo pvscan
  PV /dev/sda5   VG ubuntu1104-64-5   lvm2 [465.52 GiB / 48.00 MiB free]
  Total: 1 [465.52 GiB] / in use: 1 [465.52 GiB] / in no VG: 0 [0   ]

pjack@ubuntu1104-64-5:/dev$ sudo pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda5
  VG Name               ubuntu1104-64-5
  PV Size               465.52 GiB / not usable 2.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              119173
  Free PE               12
  Allocated PE          119161
  PV UUID               FnI4qo-0ilE-FKlj-caS2-LWyZ-ySXC-8KE3Yl

# 有一塊 PV, 對應到 /dev/sda5, 大小為 465 GB, PE size 為 4MB, 和查看 partition 是符合的


查看一下 Volumn Group

pjack@ubuntu1104-64-5:/dev$ sudo vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "ubuntu1104-64-5" using metadata type lvm2
pjack@ubuntu1104-64-5:/dev$ sudo vgdisplay
  --- Volume group ---
  VG Name               ubuntu1104-64-5
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2   # 分割成 2 個 Logical Volume
  Open LV               2
  Max PV                0
  Cur PV                1   # 由 1 個 Physical Volume 組成, 也就是我們查到的 /dev/sda5
  Act PV                1
  VG Size               465.52 GiB
  PE Size               4.00 MiB
  Total PE              119173
  Alloc PE / Size       119161 / 465.47 GiB
  Free  PE / Size       12 / 48.00 MiB
  VG UUID               cxPj4c-xOvg-8f13-HGdl-m2Qj-goI0-eSjXak


查看一下 Logical Volumne
pjack@ubuntu1104-64-5:/dev$ sudo lvdisplay
[sudo] password for pjack:
  --- Logical volume ---
  LV Name                /dev/ubuntu1104-64-5/root
  VG Name                ubuntu1104-64-5
  LV UUID                w6DSBS-nejc-aY6a-Uw0T-7eVd-WA0I-jUukBL
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                441.48 GiB
  Current LE             113020
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           251:0

# 第一塊的大小是 441 GB, 對應到 /dev/ubuntu1104-64-5/root
# 然後 VG 是 ubuntu1104-64-5

  --- Logical volume ---
  LV Name                /dev/ubuntu1104-64-5/swap_1
  VG Name                ubuntu1104-64-5
  LV UUID                5tP2Cf-3zWd-YjEl-7sKx-Kac0-PiOo-zFU0Z2
  LV Write Access        read/write
  LV Status              available
  # open                 2
  LV Size                23.99 GiB
  Current LE             6141
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           251:1

# 第一塊的大小是 24 GB, 對應到 /dev/ubuntu1104-64-5/swap_1
# 然後 VG 是 ubuntu1104-64-5
# 和我們剛剛查到 ubuntu1104-64-5 內有 2 塊 LV 是一致的

回頭看一下目前有 mount 起來的東西

pjack@ubuntu1104-64-5:/dev$ df
Filesystem                             1K-blocks      Used Available Use% Mounted on
/dev/mapper/ubuntu1104--64--5-root     455666040   3301844 429217700   1% /

# 其中一塊 LM 掛在 / 底下 
# 至於 swap 就不需要掛在地方

none                                    12358272       212  12358060   1% /dev
none                                    12366300         0  12366300   0% /dev/shm
none                                    12366300        72  12366228   1% /var/run
none                                    12366300         0  12366300   0% /var/lock
/dev/sda1                                 233191     45214    175536  21% /boot

# /dev/sda1 被 mount 到 /boot 區


另外觀察一下 /dev/mapper 及 /dev/ubuntu1104-64-5 之間的關係

pjack@ubuntu1104-64-5:/dev$ ll /dev/mapper
total 0
drwxr-xr-x  2 root root     100 2011-08-22 13:54 ./
drwxr-xr-x 18 root root    4560 2011-08-25 12:09 ../
crw-------  1 root root 10, 236 2011-08-22 13:54 control
lrwxrwxrwx  1 root root       7 2011-08-30 16:09 ubuntu1104--64--5-root -> ../dm-0
lrwxrwxrwx  1 root root       7 2011-08-30 16:09 ubuntu1104--64--5-swap_1 -> ../dm-1

pjack@ubuntu1104-64-5:/dev$ ll /dev/ubuntu1104-64-5/
total 0
drwxr-xr-x  2 root root   80 2011-08-22 13:54 ./
drwxr-xr-x 18 root root 4560 2011-08-25 12:09 ../
lrwxrwxrwx  1 root root    7 2011-08-30 16:09 root -> ../dm-0
lrwxrwxrwx  1 root root    7 2011-08-30 16:09 swap_1 -> ../dm-1

# 可以發現都是對應到 /dev/dm-0 & /dev/dm-1

我的任務是把 /dev/ubuntu1104-64-5/root 先縮小, 然後再 create 另一個 lv 來建立 Clustered File System Pool, 中間會警告你可能會傷害到一些檔案, 因為這台只有我在用, 所以我就完全不管, 刪了再說, 每一個 PE 的大小是 4MB , 900000 * 4MB = 360G, 所以從 450G 減少到 90 G

pjack@ubuntu1104-64-5:/dev$ sudo lvresize -l -90000 /dev/ubuntu1104-64-5/root
  WARNING: Reducing active and open logical volume to 89.92 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce root? [y/n]: y
  Reducing logical volume root to 89.92 GiB
  Backup of volume group ubuntu1104-64-5 metadata failed.
  Logical volume root successfully resized

很好.. 從此就掛掉了 XD 重灌吧~



後來和前輩討教, 發現我少做了一件事, 就是要先把 file system 縮小, 我縮小的是 block level partition, 他並不知道上面有一層 file system, 所以直接把 partition 縮小會破壞到 file system 的結構.

首先試著 resize2fs,結果出現 error

pjack@ubuntu1104-64-6:~$ sudo resize2fs / 50G
[sudo] password for pjack:
resize2fs 1.41.14 (22-Dec-2010)
open: Is a directory while opening /

# 先試著直接 resize, 不過正在被使用, 所以無法被 resize

pjack@ubuntu1104-64-6:~$ sudo umount /
umount: /: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

pjack@ubuntu1104-64-6:~$ fuser -uv /
                     USER        PID ACCESS COMMAND
/:                   root     kernel mount (root)/
                     pjack      1578 .r... (pjack)bash


# 嗯, device is busy, 因為有人登入... 那要怎麼 umount 呀~~ Orz

pjack@ubuntu1104-64-6:~$ sudo umount -l /
[sudo] password for pjack:

# 強迫他 umount 好了.. 看看會怎麼樣

pjack@ubuntu1104-64-6:~$ sudo resize2fs /dev/dm-0 50G
[sudo] password for pjack:
resize2fs 1.41.14 (22-Dec-2010)
open: No such file or directory while opening /dev/dm-0

pjack@ubuntu1104-64-6:~$ ll /dev/dm*
ls: cannot access /dev/dm*: No such file or directory

pjack@ubuntu1104-64-6:~$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/ubuntu1104--64--6-root
                     455666040   4702340 427817204   2% /
none                 455666040   4702340 427817204   2% /sys
df: `/sys/fs/fuse/connections': No such file or directory
df: `/sys/kernel/debug': No such file or directory
df: `/sys/kernel/security': No such file or directory
none                 455666040   4702340 427817204   2% /dev
none                 455666040   4702340 427817204   2% /dev/pts
none                 455666040   4702340 427817204   2% /dev/shm
none                 455666040   4702340 427817204   2% /var/run
none                 455666040   4702340 427817204   2% /var/lock
/dev/sda1            455666040   4702340 427817204   2% /boot

# Orz 又全部爛掉了.. 幸好重開機之後就回復了


於是拿出 liveCD.. 天呀.. 網路慢到不行, 我只好放棄.. 再度重灌
雖然沒有成功, 不過也因此對整個操作, 還有對 lvm & filesystem 都有滿清楚的概念
也是一大收獲!

2011年8月24日 星期三

紅包行情






編號
類別
品名
金額
負責方
備註
男方
女方
11-1訂婚壓茶甌1000~2000 總金額必需是雙數,象徵吉利。壓茶甌 男方親人給予前來敬茶的準新娘 $1200 起跳, 6或9的陪數
1-2安床禮600~2000   
1-3壓桌禮一桌不要少
於8000元
 酒席禮 即[壓桌禮], 視乎女方預備了多少酒席款待男方親友
1-5媒人禮2000~3000媒人禮 男方要比女方多, 及南部會比北部注重. 數千元到數萬元不等 
1-6頁禮600 ~1800  採納人員 女方給予送禮前來的頁禮官 
1-7貢禮官 600 ~1800  貢禮官 陪伴準人郎到女家採納之人員
1-8挽面禮1200~3600 挽面禮 給準新娘的化妝禮
1-9點燭禮 1200~3600 點燭禮 給點燭祭祖之舅舅
1-10端茶禮 1200~3600  端茶禮 給引導準新娘敬茶之福壽雙全婦人
1-11端臉盤禮 600~1800  端臉盤禮 新郎贈予端洗手盤之幼童 
1-12舅仔禮 600~1800 舅仔禮 新郎贈予新娘的未婚弟妹
1-13相見禮600~1800 相見禮 到女家門時, 贈予替新郎開車門的小孩
22-1結婚安床禮小孩600~1800 贈予安床時, 翻床舖的小男童
2-2壓床男生600~1800 贈予結婚前陪睡之未成年男生
2-3迎娶人員600~1800 出發迎娶前, 新郎贈予所有前往女家迎娶之人員
2-5拜橋男童600~1200 新郎贈予持橘子糖果恭迎的男童
2-6引領新娘婦人1200~3600 新郎贈予引導陪同新娘出嫁的好命婦人
2-7陪嫁女伴600~1200  
2-8端扇男童600~1800 新娘出發時, 端給扇子的男童
2-9持橘子男童600~1800 新娘到男家時, 贈給端著兩個橘子的小男童
2-10花僮600~1200  
2-11伴郎伴娘1200~3000  
2-12化妝師500~1000 如是聘請的, 依事前談妥的價錢以紅包給付, 如是朋友擔任可以心意贈予紅包
2-13禮車司機1200~3600 朋友擔任可以心意贈予紅包, 所有當天出動的車均需以紅包答謝
2-15司儀1000~2000  
2-16總招待2000  
2-17招待600~1200  
2-18總務600~1200  
2-19攝影600~1200  
2-20收納600~1200  
2-21飯店服務人員  每人200元,或總共給2000元



2011年8月19日 星期五

Install Hybridfox for Openstack

發現有另外一套 Firefox 的 plug-in 可以直接和 Euca2ools 相連結叫 HybridFox, 他也可以連到 Openstack, 所以就裝來用用, 不然 Openstack 的 dashboard 功能實在是陽春的可憐

官網: http://code.google.com/p/hybridfox/

目前 1.6 版有支援 Openstack, 不過只能搭配 firefox 5.0 使用, 6.0 我試著去裝是不成功的

裝好之後在 firefox 的控制列會多一個選項  Tools -> hybridfox , 選了之後頁面就會出來, 然後你要設定一下 Regions, Credentials, Account IDs, 設定說明可以參考

http://cssoss.wordpress.com/2011/04/27/openstack-beginners-guide-for-ubuntu-11-04-instance-management/

不過 ec2_url 的部份請填在 /etc/nova/nova.conf 內的設定, 預設應該類似是這樣
http://172.16.33.7:8773/services/Cloud

整個畫面類似下面, 功能是比較齊全了, 不過在一般使用者的眼中, 還是很陽春, 重點是不好用, 很工程師的感覺







2011年8月18日 星期四

Database in Openstack

進到 Openstack 的資料庫看了一下


show tables;
+-------------------------------------+
| Tables_in_nova                      |
+-------------------------------------+
| auth_tokens                         |
| certificates                        |
| compute_nodes                       |
| console_pools                       |
| consoles                            |
| export_devices                      |
| fixed_ips                           |
| floating_ips                        |
| instance_actions                    |
| instance_metadata                   |
| instance_types                      |
| instances                           |
| iscsi_targets                       |
| key_pairs                           |
| migrate_version                     |
| migrations                          |
| networks                            |
| projects                            |
| quotas                              |
| security_group_instance_association |
| security_group_rules                |
| security_groups                     |
| services                            |
| user_project_association            |
| user_project_role_association       |
| user_role_association               |
| users                               |
| volumes                             |
| zones                               |
+-------------------------------------+



Services

可以看到每個 service 分配在那一邊


Network



這是當初 create network 時產生在 database 中的, 其中 vlan 和 bridge 其實當初沒有指定, 不過他預設是使用 br100 和vlan100, 未來如果要切割開來更多 vlan, 不知道要怎麼處理, 不過我想這都只是設定問題, 技術上應該都是可支援的.   另外 project_id 一開始會是 NULL, 但當 create 一個 instance 之後, 就會填上去, 這部份目前也是沒有方式指定網路設定, 而且由系統直接指派.

Fixed_ips

隨著一個 vlan 的建制起來, 他會順把 Fixed ip 也都建起來, 可以看到 network_id = 2 , 對應的就是上面提到的那組, 當初是設定 192.168.3.0/24 1 255, 所以他就會從 192.168.3.0 一路建下去, 不過我比較疑惑是為什麼他只建到 .127 就停了, 原本以為他應該要建到 .254 or .255才對, 然後當一個 instance create 出來後, 他會把 instance_id 填上去

Floating_ips



再來是看 floating_ips, 由於 floating ip 是對外的 public ip, 預設是浮動的, 可以隨時改變配對的 project, 所以表格內只會看到 fixed_ip_id 及 project_id 的對應, 目前都沒使用到

Others

 SELECT COLUMN_NAME  FROM Information_Schema.COLUMNS where TABLE_NAME='volumes';



其他 table 有些是空的, 所以可以利用 information _schema 來觀察一下特定的table 有那些 column, 透過 database 的觀察其實可以大概了解 Openstack 對於每個 component 的操作及怎麼聯結, 另外是他現在還沒有很好的 UI 可以防呆, 所以像之前 network 有設錯, 在 database 就有殘存一些無法用 command line 砍掉的東西, 這種狀況下就只好手動進來修 database.