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

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>.備份邏輯卷
<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>.模拟快照和邏輯卷資料清空
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,實際頁面都差不多,建立虛拟機的步驟就省略了,挺簡單的!
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>.應用程式――系統工具――虛拟系統管理器
2>. 輕按兩下要設定的虛拟機
3>. 在“檢視”菜單中選擇“詳情”
4>. 在“boot options”選項中勾選“start virtual machine on host boot up”選項
5>. 單擊“應用”
6>. 修改/etc/sysconfig/libvirt-guests檔案:on_boot=ignore
9、kvm虛拟機克隆後網卡無法啟動解決辦法:
1>.修改/etc/udev/rules.d/70-persistent-net.rules檔案,删除第一個網卡記錄,并将第二個的name="eth1"改為name="eth0"
2>.如果在/etc/sysconfig/network-scripts/ifcfg-eth0中有配置網卡資訊的話,如:#hwaddr="00:0c:29:c8:1a:92",将其注釋
3>.重新啟動系統。