轉://Linux Multipath多路徑配置與使用案例

在Linux平臺一部分存儲產品使用操作系統自帶的多路徑軟件,包括最常見的HP和IBM的部分存儲產品,在Linux自帶的多路徑軟件叫做multipath,這篇文章以HP EVA系列存儲在Linux平臺的使用為例,詳細的在Linux平臺配置和使用多路徑。

?

那么問題就來了,到底什么是多路徑?

普通的電腦主機都是一個硬盤掛接到一個總線上,這里是一對一的關系。而到了有光纖組成的SAN環境,或者由iSCSI組成的IPSAN環境,由于主機和存儲通過了光纖交換機或者多塊網卡及IP來連接,這樣的話,就構成了多對多的關系。也就是說,主機到存儲可以有多條路徑可以選擇。主機到存儲之間的IO由多條路徑可以選擇。每個主機到所對應的存儲可以經過幾條不同的路徑,如果是同時使用的話,I/O流量如何分配?其中一條路徑壞掉了,如何處理?從在操作系統的角度來看,每條路徑,操作系統會認為是一個實際存在的物理盤,但實際上只是通向同一個物理盤的不同路徑而已,這樣是在使用的時候,就給用戶帶來了困惑。多路徑軟件就是為了解決上面的問題應運而生的。

?

多路徑的主要功能就是和存儲設備一起配合實現如下功能:?
1、故障的切換和恢復?
2、IO流量的負載均衡?
3、磁盤的虛擬化?
???

由于多路徑軟件是需要和存儲在一起配合使用的,不同的廠商基于不同的操作系統,都提供了不同的版本。并且有的廠商,軟件和硬件也不是一起賣的,如果要使用多路徑軟件的話,可能還需要向廠商購買license才行。比如EMC公司基于linux下的多路徑軟件,就需要單獨的購買license。好在, RedHat和Suse的2.6的內核中都自帶了免費的多路徑軟件包,并且可以免費使用,同時也是一個比較通用的包,可以支持大多數存儲廠商的設備,即使是一些不是出名的廠商,通過對配置文件進行稍作修改,也是可以支持并運行的很好的。

?

?

一、Linux下multipath介紹

在redhat中,安裝操作系統的時候multipath已經默認被安裝,查看安裝情況:

[root@seaing ~]#?rpm -qa | grep device-mapper

device-mapper-multipath-0.4.7-34.el5

device-mapper-1.02.39-1.el5

device-mapper-1.02.39-1.el5

device-mapper-event-1.02.39-1.el5

?

1、device-mapper-multipath:即multipath-tools。主要提供multipathd和multipath等工具和?multipath.conf等配置文件。這些工具通過device mapper的ioctr的接口創建和配置multipath設備(調用device-mapper的用戶空間庫。創建的多路徑設備會在/dev /mapper中)。

2、?device-mapper:主要包括兩大部分:內核部分和用戶部分。內核部分主要由device mapper核心(dm.ko)和一些target driver(md-multipath.ko)。核心完成設備的映射,而target根據映射關系和自身特點具體處理從mappered device?下來的i/o。同時,在核心部分,提供了一個接口,用戶通過ioctr可和內核部分通信,以指導內核驅動的行為,比如如何創建mappered device,這些divece的屬性等。linux device mapper的用戶空間部分主要包括device-mapper這個包。其中包括dmsetup工具和一些幫助創建和配置mappered device的庫。這些庫主要抽象,封裝了與ioctr通信的接口,以便方便創建和配置mappered device。multipath-tool的程序中就需要調用這些庫。?

3、dm-multipath.ko和dm.ko:dm.ko是device mapper驅動。它是實現multipath的基礎。dm-multipath其實是dm的一個target驅動。?

4、scsi_id: 包含在udev程序包中,可以在multipath.conf中配置該程序來獲取scsi設備的序號。通過序號,便可以判斷多個路徑對應了同一設備。這個是多路徑實現的關鍵。scsi_id是通過sg驅動,向設備發送EVPD page80或page83?的inquery命令來查詢scsi設備的標識。但一些設備并不支持EVPD?的inquery命令,所以他們無法被用來生成multipath設備。但可以改寫scsi_id,為不能提供scsi設備標識的設備虛擬一個標識符,并輸出到標準輸出。multipath程序在創建multipath設備時,會調用scsi_id,從其標準輸出中獲得該設備的scsi id。在改寫時,需要修改scsi_id程序的返回值為0。因為在multipath程序中,會檢查該直來確定scsi id是否已經成功得到。

二、Linux下multipath詳細配置

首先,我們本次Linux下multipath的整體的拓撲結構,如下所示:
?

因為在安裝操作系統的時候,multipath的軟件包已經那裝好了,所以這里就不在需要安裝,如果沒有安裝的話,需要手動的進行安裝。

?

1、檢查安裝是否正常

[root@seaing ~]#?lsmod |grep dm_multipath

dm_multipath?????????? 56921? 2 dm_round_robin

scsi_dh??????????????? 42177? 1 dm_multipath

dm_mod??????????????? 101649? 19 dm_multipath,dm_raid45,dm_snapshot,dm_zero,dm_mirror,dm_log

?

如果模塊沒有加載成功,請使用下面的命令初始化DM:

[root@seaing ~]#modprobe dm-multipath?
[root@seaing ~]#modprobe dm-round-robin?
[root@seaing ~]#service multipathd start?
[root@seaing ~]#multipath?–v2

?

2、編輯配置文件

[root@seaing ~]#?cat /etc/multipath.conf

blacklist {

??????? devnode "^sda"

??????? }

?

defaults {

??????? user_friendly_names no

??????? }

?

multipaths {

??????? multipath {

??????????????? wwid??????????????????? 3600508b4000892b90002a00000050000?#磁盤的WWID

??????????????? alias?????????????????? comsys-dm0??#映射后的別名,自己命名

??????????????? path_grouping_policy??? multibus????#路徑組策略

??????????????? path_checker??????????? tur?????????#決定路徑狀態的方法

??????????????? path_selector?????????? "round-robin 0"??#選擇那一條路徑進行下次IO操作

??????????????? }

?

??????? multipath {

??????????????? wwid ???????????????????3600508b4000892b90002a00000090000

??????????????? alias?????????????????? comsys-dm1

??????????????? path_grouping_policy??? multibus

??????????????? path_checker??????????? tur

??????????????? path_selector?????????? "round-robin 0"

?? ?????????????}

?

??????? multipath {

??????????????? wwid??????????????????? 3600508b4000892b90002a00000140000

??????????????? alias?????????????????? comsys-backup

??????????????? path_grouping_policy??? multibus

??????????????? path_checker??????????? tur

??????????????? path_selector?????????? "round-robin 0"

??????????????? }

??????? }

?

devices {

??????? device {

??????????????? vendor????????????????? "HP" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#廠商名稱,可通過multipath –v3獲取到

??????????????? product???????????????? "HSV300" ? ? ? ? ? ? ? ? ? ? ? ? ? ?#產品型號

??????????????? path_grouping_policy??? multibus ? ? ? ? ? ? ? ? ? ? ? ? ? ?#默認的路徑組策略

??????????????? getuid_callout????????? "/sbin/scsi_id -g -u -s /block/%n"??#獲得唯一設備號使用的默認程序

??????????????? path_checker??????????? readsector0 ? ? ? ? ? ? ? ? ? ? ? ??#決定路徑狀態的方法

??????????????? path_selector???? ??????"round-robin 0" ? ? ? ? ? ? ? ? ? ??#選擇那條路徑進行下一個IO操作的方法

??????????? ??????#failback????????immediate ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#故障恢復的模式

????????#no_path_retry??????queue ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??#在disable queue之前系統嘗試使用失效路徑的次數的數值

??????? #rr_min_io?????????100 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#在當前的用戶組中,在切換到另外一條路徑之前的IO請求的數目

?

??????????????? }

??????? }

?

備注:

其中?wwid,vendor,product,?getuid_callout這些參數可以通過:multipath -v3命令來獲取。如果在/etc/multipath.conf中有設定各wwid別名,別名會覆蓋此設定。

?

下面是兩種方法來獲取WWID
(1)默認情況下,將使用?/var/lib/multipath/bindings?內的配置設定具體每個多路徑設備名,如果在/etc/multipath.conf中有設定各wwid?別名,別名會覆蓋此設定。
[root@seaing ~]#?cat /var/lib/multipath/bindings
# Multipath bindings, Version : 1.0
# NOTE: this file is automatically maintained by the multipath program.
# You should not need to edit this file in normal circumstances.
#
# Format:
# alias wwid
#
mpath0 SATA_WDC_WD5003ABYX-_WD-WMAYP4135415
mpath1 3600508b4000892b90002a00000050000
mpath2 3600508b4000892b90002a00000090000


(2)通過multipath -v3命令來獲取

[root@seaing ~]#?multipath -v3

?

下面是相關參數的標準文檔的介紹:

Attribute

Description

wwid

Specifies the WWID of the multipath device to which themultipath?attributes apply. This parameter is mandatory for this section of themultipath.conf?file.

alias

Specifies the symbolic name for the multipath device to which themultipath?attributes apply. If you are usinguser_friendly_names, do not set this value tompathn; this may conflict with an automatically assigned user friendly name and give you incorrect device node names.

path_grouping_policy

Specifies the default path grouping policy to apply to unspecified multipaths. Possible values include:

failover?= 1 path per priority group

multibus?= all valid paths in 1 priority group

group_by_serial?= 1 priority group per detected serial number

group_by_prio?= 1 priority group per path priority value

group_by_node_name?= 1 priority group per target node name

?

path_selector

Specifies the default algorithm to use in determining what path to use for the next I/O operation. Possible values include:

round-robin 0: Loop through every path in the path group, sending the same amount of I/O to each.

queue-length 0: Send the next bunch of I/O down the path with the least number of outstanding I/O requests.

service-time 0: Send the next bunch of I/O down the path with the shortest estimated service time, which is determined by dividing the total size of the outstanding I/O to each path by its relative throughput.

?

failback

Manages path group failback.

A value of?immediate?specifies immediate failback to the highest priority path group that contains active paths.

A value of?manual?specifies that there should not be immediate failback but that failback can happen only with operator intervention.

A value of?followover?specifies that automatic failback should be performed when the first path of a path group becomes active. This keeps a node from automatically failing back when another node requested the failover.

A numeric value greater than zero specifies deferred failback, expressed in seconds.

?

prio

Specifies the default function to call to obtain a path priority value. For example, the ALUA bits in SPC-3 provide an exploitableprio?value. Possible values include:

const: Set a priority of 1 to all paths.

emc: Generate the path priority for EMC arrays.

alua: Generate the path priority based on the SCSI-3 ALUA settings.

tpg_pref: Generate the path priority based on the SCSI-3 ALUA settings, using the preferred port bit.

ontap: Generate the path priority for NetApp arrays.

rdac: Generate the path priority for LSI/Engenio RDAC controller.

hp_sw: Generate the path priority for Compaq/HP controller in active/standby mode.

hds: Generate the path priority for Hitachi HDS Modular storage arrays.

?

no_path_retry

A numeric value for this attribute specifies the number of times the system should attempt to use a failed path before disabling queueing.

A value of?fail?indicates immediate failure, without queueing.

A value of?queue?indicates that queueing should not stop until the path is fixed.

?

rr_min_io

Specifies the number of I/O requests to route to a path before switching to the next path in the current path group. This setting is only for systems running kernels older that 2.6.31. Newer systems should userr_min_io_rq. The default value is 1000.

rr_min_io_rq

Specifies the number of I/O requests to route to a path before switching to the next path in the current path group, using request-based device-mapper-multipath. This setting should be used on systems running current kernels. On systems running kernels older than 2.6.31, use?rr_min_io. The default value is 1.

rr_weight

If set to?priorities, then instead of sending?rr_min_iorequests to a path before calling?path_selector?to choose the next path, the number of requests to send is determined byrr_min_io?times the path's priority, as determined by theprio?function. If set to?uniform, all path weights are equal.

flush_on_last_del

If set to?yes, then multipath will disable queueing when the last path to a device has been deleted.

?

?

3、啟動multipathd服務并設置其自動啟動

[root@seaing ~]#service multipathd restart

[root@seaing ~]#chkconfig --level 345 multipathd on

[root@seaing ~]#chkconfig --list | grep multipathd

?

4、檢查multipath聚合后的設備名,以及設備對應的鏈路情況

[root@seaing ~]#?multipath -ll

comsys-dm1 (3600508b4000892b90002a00000090000) dm-3 HP,HSV300

[size=200G][features=0][hwhandler=0][rw]

\_ round-robin 0 [prio=4][active]

?\_ 4:0:0:2 sdc 8:32? [active][ready]

?\_ 4:0:1:2 sdf 8:80? [active][ready]

?\_ 5:0:0:2 sdi 8:128 [active][ready]

?\_ 5:0:1:2 sdl 8:176 [active][ready]

comsys-dm0 (3600508b4000892b90002a00000050000) dm-2 HP,HSV300

[size=100G][features=0][hwhandler=0][rw]

\_ round-robin 0 [prio=4][active]

?\_ 4:0:0:1 sdb 8:16? [active][ready]

?\_ 4:0:1:1 sde 8:64? [active][ready]

?\_ 5:0:0:1 sdh 8:112 [active][ready]

?\_ 5:0:1:1 sdk 8:160 [active][ready]

comsys-backup (3600508b4000892b90002a00000140000) dm-4 HP,HSV300

[size=100G][features=0][hwhandler=0][rw]

\_ round-robin 0 [prio=4][active]

?\_ 4:0:0:3 sdd 8:48? [active][ready]

?\_ 4:0:1:3 sdg 8:96? [active][ready]

?\_ 5:0:0:3 sdj 8:144 [active][ready]

?\_ 5:0:1:3 sdm 8:192 [active][ready]

?

5、檢查配置是否成功

如果配置正確的話就會在/dev/mapper/目錄下多出mpath0、mpath1(自動分配的名稱)等之類設備,但是因為作者在配置的時候,起了別名,所以會使用別名來代替自動分配的名稱

[root@seaing ~]#?ll /dev/mapper/

total 0

brw-rw---- 1 root disk 253,? 4 Oct 26 14:30 comsys-backup

brw-rw---- 1 root disk 253,? 2 Oct 26 14:30 comsys-dm0

brw-rw---- 1 root disk 253,? 3 Oct 26 14:30 comsys-dm1

crw------- 1 root root? 10, 63 Oct 26 14:30 control

brw-rw---- 1 root disk 253,? 0 Oct 26 14:30 VolGroup00-LogVol00

brw-rw---- 1 root disk 253,? 1 Oct 26 14:30 VolGroup00-LogVol01

?

?

用fdisk -l命令可以看到多路徑軟件創建的磁盤,如下圖中的/dev/dm-[0-3]

[root@seaing ~]#?fdisk -l

Disk /dev/dm-2: 107.3 GB, 107374182400 bytes

255 heads, 63 sectors/track, 13054 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

?

Disk /dev/dm-2 doesn't contain a valid partition table

?

Disk /dev/dm-3: 214.7 GB, 214748364800 bytes

255 heads, 63 sectors/track, 26108 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

?

Disk /dev/dm-3 doesn't contain a valid partition table

?

Disk /dev/dm-4: 107.3 GB, 107374182400 bytes

255 heads, 63 sectors/track, 13054 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

?

Disk /dev/dm-4 doesn't contain a valid partition table

?

[root@seaing ~]#?ll /dev/mpath/

total 0

lrwxrwxrwx 1 root root 7 Oct 26 14:30 comsys-backup -> ../dm-4

lrwxrwxrwx 1 root root 7 Oct 26 14:30 comsys-dm0 -> ../dm-2

lrwxrwxrwx 1 root root 7 Oct 26 14:30 comsys-dm1 -> ../dm-3

?

multipath基本操作命令?
[root@seaing ~]#/etc/init.d/multipathd start?#開啟mulitipath服務?
[root@seaing ~]#multipath -F? ? ? ? ? ? ? ? ???#刪除現有路徑?
[root@seaing ~]#multipath -v2? ? ? ? ? ? ? ? ??#格式化路徑?
[root@seaing ~]#multipath -ll??? ? ? ? ? ? ? ??#查看多路徑

?

三、multipath的使用案例

要對多路徑軟件生成的磁盤進行操作直接操作/dev/mapper/目錄下的磁盤就行。在對多路徑軟件生成的磁盤進行分區之前最好運行一下pvcreate命令:

[root@seaing ~]# pvcreate /dev/mapper/comsys-dm0
? Physical volume "/dev/mapper/comsys-dm0" successfully created
[root@seaing ~]# 
[root@seaing ~]# pvs
? PV???????? VG???????? Fmt? Attr PSize?? PFree? 
??/dev/dm-2???????????? lvm2 --?? 100.00G 100.00G
? /dev/sda2? VolGroup00 lvm2 a-?? 465.66G????? 0 

?

[root@seaing ~]# fdisk /dev/mapper/comsys-dm0
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.
?
?
The number of cylinders for this disk is set to 13054.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
?? (e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
?
Command (m for help): n
Command action
?? e?? extended
?? p?? primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-13054, default 1): 
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-13054, default 13054): +10G
?
Command (m for help): p
?
Disk /dev/mapper/comsys-dm0: 107.3 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
?
????????????????? Device Boot????? Start???????? End????? Blocks?? Id? System
/dev/mapper/comsys-dm0p1?????????????? 1??????? 1217???? 9775521?? 83? Linux
?
Command (m for help): n
Command action
?? e?? extended
?? p?? primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (1218-13054, default 1218): 
Using default value 1218
Last cylinder or +size or +sizeM or +sizeK (1218-13054, default 13054): +20G
?
Command (m for help): p
?
Disk /dev/mapper/comsys-dm0: 107.3 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
?
????????????????? Device Boot????? Start???????? End????? Blocks?? Id? System
/dev/mapper/comsys-dm0p1?????????????? 1??????? 1217???? 9775521?? 83? Linux
/dev/mapper/comsys-dm0p2??????????? 1218??????? 3650??? 19543072+? 83? Linux
?
Command (m for help): w
The partition table has been altered!
?
Calling ioctl() to re-read partition table.
?
WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
?

用fdisk對多路徑軟件生成的磁盤進行分區保存時會有一個報錯,此報錯不用理會。?

?
[root@seaing ~]# fdisk -l

fdisk對多路徑軟件生成的磁盤進行分區之后,所生成的磁盤分區并沒有馬上添加到/dev/目錄下,此時我們要重啟IPSAN或者FCSAN的驅動,如果是用iscsi-initiator來連接IPSAN的重啟ISCSI服務就可以發現所生成的磁盤分區了;如果是FCSAN的話,需要重新啟動操作系統才能識別到。

?
[root@seaing ~]# ll /dev/dm*
brw-rw---- 1 root root 253, 2 Oct 26 14:20 /dev/dm-2
brw-rw---- 1 root root 253, 3 Oct 26 14:15 /dev/dm-3
brw-rw---- 1 root root 253, 4 Oct 26 14:15 /dev/dm-4
[root@seaing ~]# 
[root@seaing ~]# ll /dev/mapper/
total 0
brw-rw---- 1 root disk 253,? 4 Oct 26 14:15 comsys-backup
brw-rw---- 1 root disk 253,? 2 Oct 26 14:22 comsys-dm0
brw-rw---- 1 root disk 253,? 3 Oct 26 14:15 comsys-dm1
crw------- 1 root root? 10, 63 Oct 26 14:15 control
brw-rw---- 1 root disk 253,? 0 Oct 26 14:15 VolGroup00-LogVol00
brw-rw---- 1 root disk 253,? 1 Oct 26 14:15 VolGroup00-LogVol01

?

重啟操作系統之后
?
如下的comsys-dm0p1和comsys-dm0p2就是我們對multipath磁盤進行的分區
[root@seaing ~]# ll /dev/mapper/
total 0
brw-rw---- 1 root disk 253,? 4 Oct 26 14:30 comsys-backup
brw-rw---- 1 root disk 253,? 2 Oct 26 14:30 comsys-dm0
brw-rw---- 1 root disk 253,? 5 Oct 26 14:35 comsys-dm0p1
brw-rw---- 1 root disk 253,? 6 Oct 26 14:30 comsys-dm0p2
brw-rw---- 1 root disk 253,? 3 Oct 26 14:30 comsys-dm1
crw------- 1 root root? 10, 63 Oct 26 14:30 control
?
[root@seaing ~]# ll /dev/dm*
brw-rw---- 1 root root 253, 2 Oct 26 14:30 /dev/dm-2
brw-rw---- 1 root root 253, 3 Oct 26 14:30 /dev/dm-3
brw-rw---- 1 root root 253, 4 Oct 26 14:30 /dev/dm-4
brw-rw---- 1 root root 253, 5 Oct 26 14:30 /dev/dm-5
brw-rw---- 1 root root 253, 6 Oct 26 14:30 /dev/dm-6
?
[root@seaing ~]# ll /dev/mpath/
total 0
lrwxrwxrwx 1 root root 7 Oct 26 14:30 comsys-backup -> ../dm-4
lrwxrwxrwx 1 root root 7 Oct 26 14:30 comsys-dm0 -> ../dm-2
lrwxrwxrwx 1 root root 7 Oct 26 14:30 comsys-dm0p1 -> ../dm-5
lrwxrwxrwx 1 root root 7 Oct 26 14:30 comsys-dm0p2 -> ../dm-6
lrwxrwxrwx 1 root root 7 Oct 26 14:30 comsys-dm1 -> ../dm-3
?
[root@seaing ~]# fdisk -l
Disk /dev/dm-5: 10.0 GB, 10010133504 bytes
255 heads, 63 sectors/track, 1216 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
?
Disk /dev/dm-5 doesn't contain a valid partition table
?
Disk /dev/dm-6: 20.0 GB, 20012106240 bytes
255 heads, 63 sectors/track, 2433 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
?
Disk /dev/dm-6 doesn't contain a valid partition table

?

?

對comsys-dm0p1分區格式化成ext3文件系統

?
[root@seaing ~]# mkfs.ext3 /dev/mapper/comsys-dm0p1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1224000 inodes, 2443880 blocks
122194 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2503999488
75 block groups
32768 blocks per group, 32768 fragments per group
16320 inodes per group
Superblock backups stored on blocks: 
????????32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
?
Writing inode tables: done??????????????????????????? 
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
?
This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first.? Use tune2fs -c or -i to override.
[root@seaing ~]# 
[root@seaing ~]# 
[root@seaing ~]# df -h
Filesystem??????????? Size? Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
????????????????????? 434G? 8.4G? 404G?? 3% /
/dev/sda1????????????? 99M?? 18M?? 77M? 19% /boot
tmpfs???????????????? 7.9G???? 0? 7.9G?? 0% /dev/shm
/software/rhel5.5-x86_64.iso
????????????????????? 3.5G? 3.5G???? 0 100% /mnt/dvd
?
?
將/dev/mapper/comsys-dm0p1掛載到/comsys目錄下
 [root@seaing ~]# mount /dev/mapper/comsys-dm0p1 /comsys/
[root@seaing ~]# 
[root@seaing ~]# df -h
Filesystem??????????? Size? Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
????????????????????? 434G? 8.4G? 404G?? 3% /
/dev/sda1????????????? 99M?? 18M?? 77M? 19% /boot
tmpfs???????????????? 7.9G???? 0? 7.9G?? 0% /dev/shm
/software/rhel5.5-x86_64.iso
????????????????????? 3.5G? 3.5G???? 0 100% /mnt/dvd
/dev/mapper/comsys-dm0p1
????????????????????? 9.2G? 150M? 8.6G?? 2% /comsys

?

當然,也可以將磁盤創建成物理卷,然后在物理卷基礎上創建卷組,然后創建邏輯卷,最后在格式化成文件系統進行掛載,下面的案例就是通過這種方法實現的(注意:下面的案例與上面的案例并沒有聯系,讀者朋友請注意!)

[root@seaing ~]# ll /dev/mapper/
total 0
brw-rw---- 1 root disk 253,? 4 Oct 25 11:14 comsys-backup
brw-rw---- 1 root disk 253,? 2 Oct 25 11:14 comsys-dm0
brw-rw---- 1 root disk 253,? 5 Oct 25 11:14 comsys-dm0p1
brw-rw---- 1 root disk 253,? 6 Oct 25 11:14 comsys-dm0p2
brw-rw---- 1 root disk 253,? 7 Oct 25 11:14 comsys-dm0p3
brw-rw---- 1 root disk 253,? 3 Oct 25 11:14 comsys-dm1
crw------- 1 root root? 10, 63 Oct 25 11:14 control
brw-rw---- 1 root disk 253,? 0 Oct 25 11:14 VolGroup00-LogVol00
brw-rw---- 1 root disk 253,? 1 Oct 25 11:14 VolGroup00-LogVol01
[root@seaing ~]# 
[root@seaing ~]# 
[root@seaing ~]# mkdir /backup
[root@seaing ~]# 
[root@seaing ~]# mount /dev/mapper/comsys-backup /backup
mount: you must specify the filesystem type

?

[root@seaing ~]# pvs
? PV???????? VG???????? Fmt? Attr PSize?? PFree
? /dev/sda2? VolGroup00 lvm2 a-?? 465.66G??? 0 
[root@seaing ~]# 
[root@seaing ~]# vgs
? VG???????? #PV #LV #SN Attr?? VSize?? VFree
? VolGroup00?? 1?? 2?? 0 wz--n- 465.66G??? 0 
[root@seaing ~]# 
[root@seaing ~]# lvs
? LV?????? VG???????? Attr?? LSize?? Origin Snap%? Move Log Copy%? Convert
? LogVol00 VolGroup00 -wi-ao 448.03G????????????? ????????????????????????
??LogVol01 VolGroup00 -wi-ao? 17.62G????????????????????????????????????? 
[root@seaing ~]# 
[root@seaing ~]# pvcreate /dev/mapper/comsys-backup 
??Physical volume "/dev/mapper/comsys-backup" successfully created
[root@seaing ~]# 
[root@seaing ~]# pvs
? PV???????? VG???????? Fmt? Attr PSize?? PFree? 
??/dev/dm-4???????????? lvm2 --?? 100.00G 100.00G
? /dev/sda2? VolGroup00 lvm2 a-?? 465.66G????? 0 
[root@seaing ~]# 
[root@seaing ~]# vgcreate vg_backup /dev/mapper/comsys-backup 
??Volume group "vg_backup" successfully created
[root@seaing ~]# 
[root@seaing ~]# 
[root@seaing ~]# vgs
? VG???????? #PV #LV #SN Attr?? VSize?? VFree? 
??VolGroup00?? 1?? 2?? 0 wz--n- 465.66G????? 0 
??vg_backup??? 1?? 0?? 0 wz--n- 100.00G 100.00G
[root@seaing ~]# 
[root@seaing ~]# pvs
? PV???????? VG???????? Fmt? Attr PSize?? PFree? 
??/dev/dm-4? vg_backup? lvm2 a-?? 100.00G 100.00G
? /dev/sda2? VolGroup00 lvm2 a-?? 465.66G????? 0 
[root@seaing ~]# 
[root@seaing ~]# 
[root@seaing ~]# lvcreate -L 20G -n lv_backup vg_backup
? Logical volume "lv_backup" created
[root@seaing ~]# 
[root@seaing ~]# lvs
? LV??????? VG???????? Attr?? LSize?? Origin Snap%? Move Log Copy%? Convert
? LogVol00? VolGroup00 -wi-ao 448.03G????????????????????????????????????? 
??LogVol01? VolGroup00 -wi-ao? 17.62G????????????????????????????????????? 
??lv_backup vg_backup? -wi-a-? 20.00G????????????????????????????????????? 
[root@seaing ~]# 
[root@seaing ~]# 
[root@seaing ~]# mkfs.ext3 /dev/vg_backup/lv_backup 
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2621440 inodes, 5242880 blocks
262144 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
160 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, 1605632, 2654208, 
????????4096000
?
Writing inode tables: done??????????????????????????? 
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
?
This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first.? Use tune2fs -c or -i to override.
[root@seaing ~]# 
[root@seaing ~]# 
[root@seaing ~]# mount /dev/vg_backup/lv_backup /backup
?
[root@seaing ~]# df -h
Filesystem??????????? Size? Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
????????????????????? 434G? 4.9G? 407G?? 2% /
/dev/sda1????????????? 99M ??18M?? 77M? 19% /boot
tmpfs???????????????? 7.9G???? 0? 7.9G?? 0% /dev/shm
/dev/mapper/vg_backup-lv_backup
?????????????????????? 20G? 173M?? 19G?? 1% /backup

?

轉載于:https://www.cnblogs.com/zfox2017/p/8570262.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452365.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452365.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452365.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[原][歌曲]感動的歌曲排序

故事: 起風了  買辣椒也用券 《起風了》情感歷程 成長: 木馬城市 毛不易 男孩長大為人 感悟: 在人間  王建房 愛情: 你還要我怎樣  薛之謙   分手后的懷念 轉載于:https://www.cnblogs.com/lyggqm/p/9151124.html

C++經典書籍和相關內容

Essential C 中文版 導讀:《Essential C中文版》以4個方面來表現C的本質:procedural(程序性的)、generic(泛型的)、object-based(個別對象的)、object-oriented(面向對象…

Windows中安裝MongoDB以及studio3t

文章目錄1.安裝MongoDB2.配置并啟動MongoDB3.使用studio3t連接mongodb1.安裝MongoDB 運行 mongodb-win32-x86_64-2008plus-ssl-v3.4-latest-signed.msi 2.配置并啟動MongoDB 創建幾個文件夾具體如下: 1)數據庫路徑(data目錄) 2…

軟件可靠性

軟件可靠性是程序在給定的時間間隔內,按照規格說明書的規定成功地運行的概率。軟件可靠性隨著給定的時間間隔的加大而減少。 一般說來,對于任何其故障是可以修復的系統,都應該同時使用可靠性和可用性衡量它的優劣程度。 軟件可用性是程序在給…

為旗下硬件產品服務,LG推出基于SLAM技術的3D攝像頭

LG官方則表示,集成了LG的3D攝像頭和SLAM技術的單個模塊性價比很高。 今年3月份的時候,LG在MWC 2017上展示其和Valve合作的VR頭顯,最近他們宣布將基于AR公司Augmented Pixels的技術開發一個3D攝像頭模塊,來輔助他們的各種硬件產品…

VS工程切換cuda版本

在工程面板,切換到類視圖,選中項目,右鍵菜單選擇【生成自定義(B)…】,彈出下面窗口 在窗口勾選上CUDA版本,即可切換 轉載于:https://www.cnblogs.com/xingzhensun/p/9154094.html

揭秘Microsoft Bing與Google搜索背后的故事

導讀:Google搜索引擎已經贏得全球范圍的贊譽,而這一切都要歸功于Google開創性的MapReduce。Google搜索引擎算法只是其搜索引擎的一部分,在后臺支持Google算法的基礎設施才是真正的幕后英雄,其基礎設施可快速的索引鏈接成千上萬臺普…

激光計算機論文,激光技術論文(2)

激光技術論文篇二激光遙感技術摘要:的 應用 是日前古 建筑和 歷史 街區保護的新契機。本文首先介紹了的原理和應用現狀;然后重點闡述了基于的古建筑保護,包括:古建筑量測、古建筑三維重建和基于三維重建古建筑保護應用;并闡述了基于激光數據的…

數據庫簡單授權機制

SQL靈活的授權機制 數據庫管理員:擁有所有對象的所有權限根據實際情況不同的權限授予不同的用戶用戶:擁有自己建立的對象的全部的操作權限可以使用GRANT,把權限授予其他用戶被授權的用戶如果具有“繼續授權”的許可,可以把獲得的權…

【bzoj1565】[NOI2009]植物大戰僵尸 【網絡流】【最大權閉合子圖】

題解:可以看出每個格子有一些前驅,只有前驅都被消滅了才能走到這里。因為要求最大的權值和,所以我們可以用最大權閉合子圖來求解這題。最大權閉合子圖點這里! 然后讓蒟蒻講一講自己掉的坑。 首先,根據WYC大佬的博客&a…

HAProxy雜記(1)

HAProxy haproxy基礎 1、安裝haproxy [rootmaster1 ~]# yum -y install haproxy [rootmaster2 ~]# yum -y install haproxy查看haproxy生成的文件 : [rootmaster1 ~]# rpm -ql haproxy備份配置文件: [rootmaster1 haproxy]# cp haproxy.cfg{,.back} [roo…

編解碼標準H264 與 AVS 變換矩陣比較

在編解碼中,變換是最重要的一步,從開始的模擬離散變換,到現在國際和中國標準中的整數變換,變換取的壓縮是最重要的,在 DV等其他編解碼中,只使用變換進行壓縮, 下面對H264 和AVS使用的變換矩陣進…

計算機圖畫大賽作品六年級,打字能手顯本領,電腦繪畫展風采——記陸埠二小舉行電腦繪畫和電腦打字比賽...

為了提高小學生的計算機應用水平,培養學生動手能力和綜合素質,提升學生的信息素養,2019年5月23日、24日中午,陸埠鎮第二小學舉行了三四年級電腦打字和五六年級電腦繪畫比賽。本次比賽,3--6年級每班中選出3名學生參加&a…

數據庫角色

數據庫角色:被命名的一組與數據庫操作相關的權限1.角色是權限的集合 2.可以為一組具有相同權限的用戶創建一個角色 3.簡化授權的過程 一個角色的權限:直接授予這個角色的全部權限加上其他角色 授予這個角色的全部權限

變量在原型鏈中的查找順序

js原型鏈 下面是一道js題目:[javascript] view plaincopy function C1(name){ if(name){ this.name name; } } function C2(name){ this.name name; } function C3(name){ this.name name || "John"; } C1.p…

基于SpringBoot + Vue的圖書管理系統

功能概述 該圖書管理系統提供了一系列功能,包括圖書管理、圖書類型管理、讀者借閱歸還圖書、用戶管理和重置密碼等。 在圖書管理功能中,管理員可以方便地進行圖書信息的管理。他們可以添加新的圖書記錄,包括書名、作者、出版社、ISBN等信息&a…

交換機的工作轉發原理

交換機通常是運行在網絡OSI七層模型的第二層數據鏈路層,如圖中,第三層網絡層通常是路由器運行在該層 今天我們來看看,交換機的工作轉發原理是什么樣的。 交換機既然是利用端口進行網絡數據傳輸,那么它是如何識別數據是誰給誰的呢…

[UWP小白日記-14]正則表達式

原文:[UWP小白日記-14]正則表達式匹配2位浮點數: ^(([1-9][0-9]*\.{1}[0-9]{1,2})|([0]\.{1}[1-9][0-9]{1,2})|([0]\.\d{1,2})|([1-9][0-9]{1,2})|[1-9]\d*|([0][.][0-9][1-9]{1,2}))$

視圖機制對于數據庫的安全意義

視圖機制可以把要保密的數據對無權存取這些數據的用戶隱藏起來,對數據提供一定程度的安全保護,間接地實現支持存取謂詞的用戶權限定義。

2017計算機考試題上機,2017年計算機二級上機考試試題及答案

2017年計算機二級上機考試試題及答案20世紀60年代中期之前的第一代計算機網絡是以單個計算機為中心的遠程聯機系統。下面是小編整理的關于計算機二級上機考試試題,希望大家認真練習!1[單選題] 一棵二叉樹中共有80個葉子結點與70個度為1的結點,則該二叉樹…