天天看點

RHCE學習<10>LVM分區管理、軟RAID和KVM虛拟機

一、lvm配置

1、基本步驟:pv -> vg -> lv -> 格式化挂載使用

RHCE學習<10>LVM分區管理、軟RAID和KVM虛拟機

2、建立lvm卷

1

2

3

4

5

<code>pvcreate </code><code>/dev/sdb1</code>

<code>vgcreate myvg </code><code>/dev/sdb1</code> <code>#加-s指定pe塊大小,預設是4m</code>

<code>lvcreate -n mylv -l 10g myvg </code><code>#-l指定邏輯卷的大小</code>

<code>mkfs.ext4 </code><code>/dev/myvg/mylv</code>

<code>mount</code> <code>/dev/myvg/mylv</code> <code>/data</code>

檢視指令:pvdisplay,vgdisplay,lvdisplay

3、擴容卷組

使用fdisk /dev/sdc分區并指定8e類型(linux lvm)

<code>pvcreate </code><code>/dev/sdc1</code>

<code>vgextend myvg </code><code>/dev/sdc1</code>

<code>vgdisplay </code><code>#檢視擴容成功</code>

<code>移除pv使用:lvreduce myvg </code><code>/dev/sdc1</code>

4、擴容邏輯卷lv

<code>lvextend -l 5g </code><code>/dev/myvg/mylv</code> <code>#-l增加5g的容量</code>

<code>resize2fs </code><code>/dev/myvg/mylv</code> <code>#更新擴容的檔案系統</code>

<code>lvdisplay </code><code>#檢視擴容成功</code>

5、縮小lv

<code>umount</code> <code>/dev/myvg/mylv</code>  <code>#必須先卸除挂載邏輯卷</code>

<code>#resize2fs -p /dev/myvg/mylv 5g #将檔案系統縮小到5g</code>

<code>lvreduce </code><code>/dev/myvg/mylv</code> <code>-l 5g </code><code>#将邏輯卷縮小5g</code>

<code>mount</code> <code>/dev/myvg/mylv</code> <code>/data</code> <code>#重新挂載使用</code>

<code>df</code> <code>-h </code><code>#檢視目前大小成功</code>

6、縮小vg

vg中必須要有足夠多的未配置設定空間(pe)應不少于要移走的實體卷的大小。

<code>pvremove </code><code>/dev/sdb1</code> <code>/dev/sda1</code> <code>#将/dev/sdb1資料移到/dev/sba1中</code>

<code>vgreduce myvg </code><code>/dev/sdb1</code> <code>#将/dev/sdb1從卷組中移出</code>

<code>pvremove </code><code>/dev/sdb1</code> <code>#将/dev/sdb從實體卷中移出</code>

7、邏輯卷快照對邏輯卷進行備份和還原

當我們給邏輯卷做一個快照的時候,快照會備份邏輯卷中當時所有的資料的節點号,隻是節點号,而并非真正的資料。所有快照的大小很小。當我們删除邏輯卷中的資料的時候,其實并沒有删除邏輯卷中的真正資料,而隻是删除了節點号。而快照中備份了節點号,是以删除了邏輯卷中的資料,在快照中依然會存在資料。

1&gt;.備份邏輯卷

<code>cp</code> <code>/usr/local/</code><code>* </code><code>/data</code> <code>#複制資料到/data下,準備模拟用</code>

<code>lvcreate -n testsnap -l 50m -p r -s </code><code>/dev/myvg/mylv</code> <code>#建立邏輯卷快照名為testsnap,大小是50m,-p r為隻讀的,防止使用,-s統計備份所需空間</code>

<code>mkdir</code> <code>/snap</code>

<code>mount</code> <code>/dev/myvg/mylv</code> <code>/snap</code> <code>#可以直接挂載快照,現在/snap的資料和/data的資料是一樣的</code>

使用dump工具備份邏輯卷快照檔案

<code>dump -0u -f </code><code>/backup/snap-backup</code><code>.dump </code><code>/snaphot</code>

-0u:0是完整備份,u是更新dump資料庫檔案時間等資訊

-f:指定備份名字

2&gt;.模拟快照和邏輯卷資料清空

6

<code>umount</code> <code>/snaphot</code>

<code>lvremove </code><code>/dev/myvg/testsnap</code> <code>#移除快照卷</code>

<code>umount</code> <code>/data</code>

<code>mkfs.ext4 </code><code>/dev/myvg/mylv</code> <code>#格式化邏輯卷,這下資料徹底空了,再重新到/data</code>

<code>cd</code> <code>/data</code> <code>#檢視資料都沒有了</code>

利用備份快照恢複資料:

<code>restore -rf </code><code>/backup/snap-backup</code><code>.dump</code>

<code>ls</code> <code>/data</code> <code>#資料資料恢複成功!</code>

二、raid磁盤陣列

在linux系統中做軟raid,磁盤陣列的裝置可以基于磁盤,也可以基于分區。

軟raid:由作業系統實作,是以要占用cpu,受os穩定性影響,受磁盤速度接口影響。

硬raid:使用raid卡,不會占用系統資源,不受os和磁盤接口影響。

現在系統中有一塊sda,新添加了4塊磁盤,3塊做磁盤陣列裝置sdb、sdc和sde,sdf一塊預備盤。

1、建立raid5

主要使用mdadm指令進行組建raid5,沒有這個指令的,需要安裝mdadm。

<code>mdadm --create --auto=</code><code>yes</code> <code>/dev/md0</code> <code>--level=5 --raid-devices=3 --spare-devices=1 </code><code>/dev/sdb</code> <code>/dev/sdc</code> <code>/dev/sde</code>

參數說明:

--create:建立raid

--auto=yes /dev/md0:建立軟raid的裝置名是md0

--level=5:建立raid的級别是5

--raid-devices=3:磁盤陣列用的磁盤數

--spare-devices=1:預備盤數

/dev/sdb /dev/sbc /dev/sde:磁盤陣列所使用的裝置

這條指令也可以簡寫為:

<code>mdadm -c </code><code>/dev/md0</code> <code>-l5 -n3 -x1 </code><code>/dev/sdb</code> <code>/dev/sdc</code> <code>/dev/sde</code>

<code>mdadm --detail </code><code>/dev/md0</code> <code>#檢視raid詳細資訊,組建raid需要一點時間,耐心等候</code>

raid資訊儲存在/proc/mdadm,可以用cat /proc/mdadm檢視raid運作狀況

2、格式化并挂載建立的raid

<code>mkfs.ext4 </code><code>/dev/md0</code>

<code>mkdir</code> <code>/raid5</code>

<code>mount</code> <code>/dev/md0</code> <code>/mnt/raid5</code>

<code>df</code> <code>-h </code><code>#檢視是否是三塊容量的70%</code>

3、設定開機自動挂載raid

<code>vi</code> <code>/etc/fstab</code>

<code>/dev/md0</code> <code>/raid5</code> <code>ext4 defaults 0 0</code>

4、模拟一塊磁盤損壞,我們設定的那一塊磁盤會立即替代損壞的磁盤,進行raid重建

<code>mdadm --manage </code><code>/dev/md0</code> <code>--fail </code><code>/dev/sdb</code> <code>#這條指令是模拟/dev/sdb損壞</code>

<code>mdadm --detail </code><code>/dev/md0</code> <code>#檢視faild devices壞了一塊/dev/sdb</code>

<code>cat</code> <code>/proc/mdadm</code>  <code>#現在可以檢視重建過程</code>

5、移除損壞的磁盤,加入新的磁盤

<code>mdadm --manage </code><code>/dev/md0</code> <code>--remove </code><code>/dev/sdb</code> <code>#移除損壞磁盤/dev/sdb</code>

<code>mdadm --manage </code><code>/dev/md0</code> <code>--add </code><code>/dev/sdg</code> <code>#添加新磁盤/dev/sdg</code>

<code>mdadm --detail </code><code>/dev/md0</code> <code>#檢視現在/dev/sdg成為了備用磁盤</code>

6、維護指令

<code>umount</code> <code>/dev/md0</code>   <code>#關閉raid</code>

<code>mdadm -stop </code><code>/dev/md0</code>

<code>mdadm -r </code><code>/dev/md0</code>  <code>#開啟raid</code>

可以在做好的raid5上面,來建立lvm,raid0和raid1也是常用的,也要多去練習下。

7、raid0建立指令

<code>mdadm -c </code><code>/dev/md0</code> <code>-a </code><code>yes</code> <code>-l 0 -n 2 </code><code>/dev/sdb</code> <code>/dev/sdc</code>

三、搭建kvm虛拟機

rhcl6 kvm支援條件:rhel-server-6.0_x64和cpu支援虛拟化

檢視cpu是否支援虛拟化技術:cat /proc/cpuinfo |grep "vmx svm"

svm:amd處理器虛拟化支援,vmx:intel處理器虛拟化支援

1、安裝kvm所需軟體

<code>yum </code><code>install</code> <code>-y qemu-kvm qemu-img python-virtinst bridge-utils libvirt virt-manager</code>

軟體包說明

qemu-kvm:kvm虛拟化子產品

qemu-img:使用qemu建立磁盤,啟動虛拟機等

python-virtinst:用來記錄建立vm時的xml檔案

bridge-utils:網絡支援工具

libvirt:虛拟機管理工具,使用virsh來管理虛拟機

virt-manager:圖形頁面管理虛拟機工具

2、修改相關配置

<code>service libvirtd start</code>

<code>chkconfig libvirtd on</code>

<code>vi</code> <code>/etc/libvirt/qemu</code><code>.conf</code>

<code>vnc_listen = </code><code>"0.0.0.0"</code> <code>#修改vnc監聽所有端口</code>

<code>vnc_password = </code><code>"123456"</code> <code>#設定vnc登入密碼</code>

<code>重新開機系統!</code>

3、檢查kvm子產品是否安裝完成

<code>lsmod |</code><code>grep</code> <code>kvm </code><code>#顯示兩個子產品kvm_amd和kvm_intel</code>

<code>virsh list </code><code>#檢查實體虛拟化完成情況</code>

4、網絡配置,在libvirt中kvm隻有兩種方法:網絡位址轉換(nat)和橋接模式

建立橋接模式檔案:

7

8

9

<code>vi</code> <code>/etc/sysconfig/network-scripts/ifcfg-br0</code>

<code>device=br0</code>

<code>type=bridge</code>

<code>boorproto=static</code>

<code>onboot=</code><code>yes</code>

<code>ipaddr=192.168.0.200</code>

<code>netmask=255.255.255.0</code>

<code>gateway=192.168.0.1</code>

<code>dns1=8.8.8.8</code>

配置eth0:

<code>vi</code> <code>/etc/sysconfig/network-scripts/ifcfg-eth0</code>

<code>device=eth0</code>

<code>bridge=br0</code>

<code>nm_controlled=no </code><code>#裝置eth0是否被networkmanager管理工具托管</code>

配置完成,重新開機網卡:service network restart

檢視橋接網絡:brctl show

5、通過virt-manager圖形頁面建立虛拟機、管理本地kvm等,可以裝一個vnc遠端桌面來操作kvm主機,我這裡使用的centos6,實際頁面都差不多,建立虛拟機的步驟就省略了,挺簡單的!

RHCE學習&lt;10&gt;LVM分區管理、軟RAID和KVM虛拟機
RHCE學習&lt;10&gt;LVM分區管理、軟RAID和KVM虛拟機

6、通過指令建立虛拟機

<code>virt-</code><code>install</code> <code>--name win2003 --</code><code>ram</code> <code>512 --vcpus=1 --disk path=</code><code>/home/kvm/img/win2003</code><code>.img,size=20 --cdrom </code><code>/var/iso/win2003</code><code>.sp2.iso --vnclisten=192.168.0.205 --graphics vnc,password=123456,port=5910, --network bridge=br0 --force --autostart</code>

7、virsh常用指令

格式:virsh [command] [args...]

10

11

12

13

14

15

16

17

18

19

20

<code>help </code><code>#顯示該指令的說明</code>

<code>quit </code><code>#結束 virsh,回到 shell</code>

<code>connect </code><code>#連接配接到指定的虛拟機伺服器</code>

<code>create </code><code>#啟動一個新的虛拟機</code>

<code>destroy </code><code>#強制關閉一個虛拟機</code>

<code>start </code><code>#開啟(已定義的)非啟動的虛拟機</code>

<code>define </code><code>#從 xml 定義一個虛拟機</code>

<code>undefine </code><code>#取消定義的虛拟機</code>

<code>dumpxml </code><code>#轉儲虛拟機的設定值</code>

<code>list </code><code>#列出虛拟機</code>

<code>reboot </code><code>#重新啟動虛拟機</code>

<code>save </code><code>#存儲虛拟機的狀态</code>

<code>restore </code><code>#回複虛拟機的狀态</code>

<code>suspend </code><code>#暫停虛拟機的執行</code>

<code>resume </code><code>#繼續執行該虛拟機</code>

<code>dump </code><code>#将虛拟機的核心轉儲到指定的檔案,以便進行分析與排錯</code>

<code>shutdown</code> <code>#關閉虛拟機</code>

<code>setmem </code><code>#修改記憶體的大小</code>

<code>setmaxmem </code><code>#設定記憶體的最大值</code>

<code>setvcpus </code><code>#修改虛拟處理器的數量</code>

8、配置虛拟機在宿主主機每次啟動後自動啟動

1&gt;.應用程式――系統工具――虛拟系統管理器

2&gt;. 輕按兩下要設定的虛拟機

3&gt;. 在“檢視”菜單中選擇“詳情”

4&gt;. 在“boot options”選項中勾選“start virtual machine on host boot up”選項

5&gt;. 單擊“應用”

6&gt;. 修改/etc/sysconfig/libvirt-guests檔案:on_boot=ignore

9、kvm虛拟機克隆後網卡無法啟動解決辦法:

1&gt;.修改/etc/udev/rules.d/70-persistent-net.rules檔案,删除第一個網卡記錄,并将第二個的name="eth1"改為name="eth0"

2&gt;.如果在/etc/sysconfig/network-scripts/ifcfg-eth0中有配置網卡資訊的話,如:#hwaddr="00:0c:29:c8:1a:92",将其注釋

3&gt;.重新啟動系統。

繼續閱讀