LVM 邏輯卷管理

LVM--邏輯卷管理

一、LVM簡介

    很多Linux用戶安裝Red Hat Linux操作系統時都會爲如何劃分各個分區的磁盤空間大小,以滿足操作系統未來需要這樣一個問題而煩惱。而當分區劃分完成後出現某個分區空間耗盡的情況時,解決的方法往往只能是使用符號鏈接,或者使用調整分區大小的工具(如parted等),但這些都只是臨時的解決辦法,沒有根本解決問題。隨着 LVM(Logical Volume Manager,邏輯盤卷管理的簡稱)的出現,這些問題都迎刃而解,用戶在無需停機的情況下方便地調整各個分區大小。

二、LVM版本 :

    在 Linux 2.4 內核上提供了 Linux 的 LVM 實現。目前 Linux 2.6 內核支持 LVM2,Redhat 官方網站目前提供最新下載版本(sources.redhat.com/lvm2/);如果需要最新或者其它版本,請參考網頁。本文配置採用版本lvm2-2.02.100-8.el6.x86_64。

查看系統中 LVM 版本:

1 [root@stu19 ~]# uname -a 2 Linux stu19.magedu.com 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux 3 [root@stu19 ~]# rpm -qa |grep lvm* 4 mesa-private-llvm-3.3-0.3.rc3.el6.x86_64 5 lvm2-libs-2.02.100-8.el6.x86_64 6 lvm2-2.02.100-8.el6.x86_64 7 [root@stu19 ~]# rpm -qi lvm2 8 Name : lvm2 Relocations: (not relocatable) 9 Version : 2.02.100 Vendor: CentOS 10 Release : 8.el6 Build Date: Sun 24 Nov 2013 12:25:40 AM CST 11 Install Date: Mon 30 Jun 2014 12:39:29 PM CST Build Host: c6b9.bsys.dev.centos.org 12 Group : System Environment/Base Source RPM: lvm2-2.02.100-8.el6.src.rpm 13 Size : 1561629 License: GPLv2 14 Signature : RSA/SHA1, Mon 25 Nov 2013 03:32:37 AM CST, Key ID 0946fca2c105b9de 15 Packager : CentOS BuildSystem <http://bugs.centos.org> 16 URL : http://sources.redhat.com/lvm2 17 Summary : Userland logical volume management tools 18 Description : 19 LVM2 includes all of the support for handling read/write operations on 20 physical volumes (hard disks, RAID-Systems, magneto optical, etc., 21 multiple devices (MD), see mdadd(8) or even loop devices, see 22 losetup(8)), creating volume groups (kind of virtual disks) from one 23 or more physical volumes and creating one or more logical volumes 24 (kind of logical partitions) in volume groups.

三、LVM優點:

比起正常的硬盤分區管理,LVM更富於彈性:

  • 使用卷組(VG),使衆多硬盤空間看起來像一個大硬盤。
  • 使用邏輯卷(LV),可以創建跨越衆多硬盤空間的分區。
  • 可以創建小的邏輯卷(LV),在空間不足時再動態調整它的大小。
  • 在調整邏輯卷(LV)大小時可以不用考慮邏輯卷在硬盤上的位置,不用擔心沒有可用的連續空間。
  • 可以在線(online)對邏輯卷(LV)和卷組(VG)進行創建、刪除、調整大小等操作。
  • 無需重新啓動服務,就可以將服務中用到的邏輯卷(LV)在線(online)/動態(live)遷移至別的硬盤上。
  • 允許創建快照,可以保存文件系統的備份,同時使服務的下線時間(downtime)降低到最小。

 

四、LVM基本組成塊與結構

    LVM是Linux操作系統對磁盤分區進行管理的一種機制。LVM利用Linux內核的device-mapper來實現存儲系統的虛擬化(系統分區獨立於底層硬件)。 通過LVM,你可以實現存儲空間的抽象化並在上面建立虛擬分區(virtual partitions),可以更簡便地擴大和縮小分區,可以增刪分區時無需擔心某個硬盤上沒有足夠的連續空間,LVM是用來方便管理的,不會提供額外的安全保證。通過它,系統管理員可以輕鬆地管理磁盤分區。在LVM中每個磁盤分區就是一個物理卷(physical volume,PV),若干個物理卷可以組成爲一個卷組(volume group,VG),形成一個存儲池。系統管理員可以在卷組上創建邏輯卷(logical volumes,LV),並在邏輯卷組上創建文件系統。

 

LVM的基本組成塊(building blocks):

    PV(physical volume):物理卷在邏輯卷管理系統最底層,可爲整個物理硬盤或實際物理硬盤上的分區。
    VG(volume group):卷組建立在物理捲上,一卷組中至少要包括一物理卷,卷組建立後可動態的添加捲到卷組中,一個邏輯卷管理系統工程中可有多個卷組,它類似於非LVM系統中的物理硬盤。
    LV(logical volume):邏輯卷建立在卷組基礎上,是個虛擬分區。卷組中未分配空間可用於建立新的邏輯卷,邏輯卷建立後可以動態擴展和縮小空間。
    PE(physical extent):物理區域是物理卷中可用於分配的最小存儲單元,物理區域大小在建立卷組時指定,一旦確定不能更改,同一卷組所有物理卷的物理區域大小需一致,新的pv加入到vg後,pe的大小自動更改爲vg中定義的pe大小。默認爲4MB,也可以是8MB,16MB等。
    LE(logical extent):邏輯區域是邏輯卷中可用於分配的最小存儲單元,邏輯區域的大小取決於邏輯卷所在卷組中的物理區域的大小。
    卷組描述區域:卷組描述區域存在於每個物理卷中,用於描述物理卷本身、物理卷所屬卷組、卷組中邏輯卷、邏輯卷中物理區域的分配等所有信息,它是在使用pvcreate建立物理卷時建立的。

image_thumb

                      LVM結構

常用命令:

  • pv:    pvcreate, pvs, pvdisplay, pvremove, pvmove, pvscan
  • vg:    vgcreate, vgs, vgdisplay, vgremove,vgchange, vgextend, vgreduce, vgscan
  • lv:    lvcreate, lvs, lvdisplay, lvremove, lvextend, lvreduce, lvscan

所有 LVM 命令都接受 -v 參數,它可多次輸入來提高輸出的詳細程度。也可以跟-vv,-vvv,-vvvv

可以使用man command 或者command --help獲取命令的幫助信息。

 

五、實例

1.創建物理卷

使用pvcreate命令可以創建物理卷,可以在整個磁盤上創建物理卷,也可以在一個磁盤分區上創建物理卷。本文針對分區進行相關的操作。

如果要在磁盤分區上創建PV,首先要使用分區工具fdisk在磁盤上面創建分區,然後把分區的系統號碼改爲8e,即Linux LVM。

分區/dev/sdb1大小 2G 分區 /dev/sdb2大小 3G

a、首先對硬盤分區結果如下:

1 [root@stu19 ~]# fdisk /dev/sdb 2 3 Command (m for help): p 4 5 Disk /dev/sdb: 21.5 GB, 21474836480 bytes 6 255 heads, 63 sectors/track, 2610 cylinders 7 Units = cylinders of 16065 * 512 = 8225280 bytes 8 Sector size (logical/physical): 512 bytes / 512 bytes 9 I/O size (minimum/optimal): 512 bytes / 512 bytes 10 Disk identifier: 0x0297d04b 11 12 Device Boot Start End Blocks Id System 13 /dev/sdb1 1 262 2104483+ 8e Linux LVM #LVM的分區類型爲8e 14 /dev/sdb2 263 655 3156772+ 8e Linux LVM

b、讓內核重讀其分區表:kpartx -af /dev/sdb ,然後查看硬盤分區信息cat /proc/partitions.

c、使用pvcreate命令創建物理卷

1 [root@stu19 ~]# pvcreate /dev/sdb1 2 Physical volume "/dev/sdb1" successfully created 3 [root@stu19 ~]# pvcreate /dev/sdb2 4 Physical volume "/dev/sdb2" successfully created

2、查看已創建的物理卷

1 [root@stu19 Packages]# pvs 2 PV VG Fmt Attr PSize PFree 3 /dev/sda2 vg0 lvm2 a-- 59.99g 7.99g 4 /dev/sdb1 lvm2 a-- 2.01g 2.01g 5 /dev/sdb2 lvm2 a-- 3.01g 3.01g 6 [root@stu19 Packages]# pvdisplay 7 --- Physical volume --- //已創建好的PV,且有所屬VG 8 PV Name /dev/sda2 //PV名稱 9 VG Name vg0 //PV所屬的VG名稱 10 PV Size 60.00 GiB / not usable 8.00 MiB //PV的大小 11 Allocatable yes //是否可分配 12 PE Size 8.00 MiB //物理塊大小,默認爲4MB, 13 Total PE 7679 //總的物理塊數 14 Free PE 1023 //空閒的物理塊數 15 Allocated PE 6656 //已分配PE 16 PV UUID ix9dHd-HL1u-LicC-uLzw-DtD5-Cm3X-74i671 //PV的UUID 17 --- NEW Physical volume --- //另一個新PV的信息 18 PV Name /dev/sdb1 19 VG Name 20 PV Size 2.01 GiB //PV的大小爲2.01GB 21 Allocatable NO 22 PE Size 0 //在創建完VG後就會有 23 Total PE 0 24 Free PE 0 25 Allocated PE 0 26 PV UUID YOkg7H-uUnO-9VvH-JyrF-wCTe-pxt9-oEq12t 27 28 "/dev/sdb2" is a new physical volume of "3.01 GiB" 29 --- NEW Physical volume --- 30 PV Name /dev/sdb2 31 VG Name 32 PV Size 3.01 GiB 33 Allocatable NO 34 PE Size 0 35 Total PE 0 36 Free PE 0 37 Allocated PE 0 38 PV UUID ErK6cN-xxmG-aRp2-e16x-79m1-cX2L-BCs9WE 39 40 [root@stu19 Packages]#

3、創建卷組VG

將物理卷(pv)/dev/sdb1和/dev/sdb2,創建爲卷組(vgcreate),名爲luovg

可以加選項-s 改變PE的大小,或者使用vgchange -s 命令修改。

1 [root@stu19 ~]# vgcreate luovg /dev/sdb1 /dev/sdb2 2 Volume group "luovg" successfully created

4、查看已創建卷組VG

1 [root@stu19 ~]# vgs 2 VG #PV #LV #SN Attr VSize VFree 3 luovg 2 0 0 wz--n- 5.01g 5.01g 4 vg0 1 4 0 wz--n- 59.99g 7.99g 5 [root@stu19 ~]# vgdisplay 6 --- Volume group --- 7 VG Name luovg //VG名稱 8 System ID 9 Format lvm2 10 Metadata Areas 2 //元信息區域 11 Metadata Sequence No 1 12 VG Access read/write //訪問許可,可讀寫 13 VG Status resizable //VG狀態 14 MAX LV 0 //最大的LV數 15 Cur LV 0 //當前的LV數 16 Open LV 0 //打開的LV數 17 Max PV 0 //最大的PV數 18 Cur PV 2 //當前的PV數 19 Act PV 2 //活動的PV數 20 VG Size 5.01 GiB //VG的大小爲5.01G 21 PE Size 4.00 MiB //物理塊的大小爲4MB 22 Total PE 1283 //VG的物理塊總數爲1283 23 Alloc PE / Size 0 / 0 //已經使用的物理塊數量和大小 24 Free PE / Size 1283 / 5.01 GiB //空閒的物理塊數和大小 25 VG UUID XPvkQ6-g8IY-zbQz-dhL1-BHgS-LzPz-GgErGM 26

5、在卷組VG裏創建邏輯卷LV,並格式化、掛載

格式 : lvcreate -n lv_name -L #UNIT {mMgGtT} [-l LogicalExtentsNumber ] VG_NAME

1 [root@stu19 ~]# lvcreate -n mylv -L 2G luovg //在luovg卷組裏創建一個2G的名稱爲mylv的LV 2 Logical volume "mylv" created 3 4 [root@stu19 ~]# lvs //查看已創建的LV 5 LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert 6 mylv luovg -wi-a----- 2.00g 7 root vg0 -wi-ao---- 20.00g 8 swap vg0 -wi-ao---- 2.00g 9 usr vg0 -wi-ao---- 10.00g 10 var vg0 -wi-ao---- 20.00g 11 [root@stu19 ~]# lvdisplay //查看已創建的LV的詳細信息 12 --- Logical volume --- 13 LV Path /dev/luovg/mylv //邏輯卷LV的路徑 14 LV Name mylv //邏輯卷LV的名稱 15 VG Name luovg //邏輯卷LV所屬的卷組 16 LV UUID ZkWuff-qENX-yLhv-SNno-0M2O-s69c-3QfBbb 17 LV Write Access read/write //訪問許可爲可讀寫 18 LV Creation host, time stu19.magedu.com, 2014-07-27 11:17:37 +0800 //LV創建主機時間 19 LV Status available //LV 狀態 20 # open 0 21 LV Size 2.00 GiB //邏輯卷的大小 22 Current LE 512 //邏輯卷的邏輯塊數 23 Segments 1 24 Allocation inherit 25 Read ahead sectors auto 26 - currently set to 256 27 Block device 253:4 28 29

lv的訪問路徑:
1、/dev/VG_NAME/LV_NAME
2、/dev/mapper/VG_NAME-LV_NAME

此兩者均爲符號鏈接,指向的文件爲/dev/dm-#

1 [root@stu19 ~]# ll /dev/luovg/mylv 2 lrwxrwxrwx 1 root root 7 Jul 27 11:17 /dev/luovg/mylv -> ../dm-4 3 [root@stu19 ~]# ll /dev/mapper/luovg-mylv 4 lrwxrwxrwx 1 root root 7 Jul 27 11:17 /dev/mapper/luovg-mylv -> ../dm-4 5 [root@stu19 ~]# ls /dev/dm-4 6 /dev/dm-4

掛載邏輯卷

1 [root@stu19 ~]# mke2fs -t ext4 /dev/luovg/mylv //格式化邏輯卷 2 [root@stu19 ~]# mkdir /luodata 3 4 [root@stu19 ~]# mount /dev/luovg/mylv /luodata/ //把邏輯卷mylv掛載在/luodata目錄 5 [root@stu19 ~]# mount |grep luodata 6 /dev/mapper/luovg-mylv on /luodata type ext4 (rw) 7 8 [root@stu19 /]# cd /luodata/ //可正常使用 9 [root@stu19 luodata]# touch a 10 [root@stu19 luodata]# ls 11 a lost+found 12 13 [root@stu19 luodata]# df -Th //查看文件系統硬盤空間使用信息 14 Filesystem Type Size Used Avail Use% Mounted on 15 /dev/mapper/vg0-root ext4 20G 1.5G 18G 8% / 16 tmpfs tmpfs 495M 0 495M 0% /dev/shm 17 /dev/sda1 ext4 194M 49M 135M 27% /boot 18 /dev/mapper/vg0-usr ext4 9.9G 7.4G 2.0G 79% /usr 19 /dev/mapper/vg0-var ext4 20G 380M 19G 2% /var 20 /dev/sr0 iso9660 4.2G 4.2G 0 100% /media/cdrom 21 22 // /dev/mapper/luovg-mylv ext4 2.0G 67M 1.9G 4% /luodata

6、擴展卷組VG

發現卷組空間不夠,我們擴大卷組空間#vgextend,新添加個大小爲1G的分區/dev/sdb3,系統id改爲8e

1 [root@stu19 luodata]# pvcreate /dev/sdb3 //增加物理卷 /dev/sdb3 2 Physical volume "/dev/sdb3" successfully created 3 4 [root@stu19 luodata]# pvs //查看物理卷信息 5 PV VG Fmt Attr PSize PFree 6 /dev/sda2 vg0 lvm2 a-- 59.99g 7.99g 7 /dev/sdb1 luovg lvm2 a-- 2.00g 4.00m 8 /dev/sdb2 luovg lvm2 a-- 3.01g 3.01g 9 /dev/sdb3 lvm2 a-- 1.01g 1.01g 10 11 [root@stu19 luodata]# vgextend luovg /dev/sdb3 //擴展卷組,新增PV /dev/sdb3 12 Volume group "luovg" successfully extended 13 14 [root@stu19 luodata]# vgs //查看VG信息 15 VG #PV #LV #SN Attr VSize VFree 16 luovg 3 1 0 wz--n- 6.02g 4.02g //luovg卷組由之前的2個PV變爲3個PV,大小也相應增加 17 vg0 1 4 0 wz--n- 59.99g 7.99g 18

7、擴展邏輯卷

可在線進行擴展。

擴展邏輯卷步驟:
1、先確定擴展的目標大小;並確保對應的卷組中有足夠的空閒空間可用;
2、擴展物理邊界 # lvextend -L 4G /dev/myvg/mylv 4G是擴展到4G,+4G是在原有之上增加了4G
3、擴展邏輯邊界,擴大文件系統的容量 # resize2fs /dev/myvg/mylv

1 [root@stu19 luodata]# lvextend -L +1G /dev/luovg/mylv //擴展LV,在原來2G的基礎上增加1G 2 Extending logical volume mylv to 3.00 GiB 3 Logical volume mylv successfully resized 4 5 [root@stu19 luodata]# lvs //查看LV信息LSize 大小爲3G 6 LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert 7 mylv luovg -wi-ao---- 3.00g 8 root vg0 -wi-ao---- 20.00g 9 swap vg0 -wi-ao---- 2.00g 10 usr vg0 -wi-ao---- 10.00g 11 var vg0 -wi-ao---- 20.00g 12 13 [root@stu19 luodata]# resize2fs -p /dev/luovg/mylv //通過resize2fs文件系統擴展 14 resize2fs 1.41.12 (17-May-2010) 15 Filesystem at /dev/luovg/mylv is mounted on /luodata; on-line resizing required 16 old desc_blocks = 1, new_desc_blocks = 1 17 Performing an on-line resize of /dev/luovg/mylv to 786432 (4k) blocks. 18 The filesystem on /dev/luovg/mylv is now 786432 blocks long. 19 20 [root@stu19 luodata]# df -h //查看磁盤信息 21 Filesystem Size Used Avail Use% Mounted on 22 /dev/mapper/vg0-root 20G 1.5G 18G 8% / 23 tmpfs 495M 0 495M 0% /dev/shm 24 /dev/sda1 194M 49M 135M 27% /boot 25 /dev/mapper/vg0-usr 9.9G 7.4G 2.0G 79% /usr 26 /dev/mapper/vg0-var 20G 380M 19G 2% /var 27 /dev/sr0 4.2G 4.2G 0 100% /media/cdrom 28 //# /dev/mapper/luovg-mylv 3.0G 67M 2.8G 3% /luodata

8、縮減邏輯卷

縮減很危險!!!! 縮減要離線!!!

縮減邏輯卷步驟:
1、先確定縮減後的目標大小;並確保對應的目標邏輯卷大小中有足夠的空間可容納原有所有數據;
2、卸載文件系統,並要執行強制檢測,以確保文件系統處於一至性狀態 e2fsck -f
3、縮減邏輯邊界 resize2fs DEVICE
4、縮減物理邊界 lvreduce

1 [root@stu19 luodata]# df -h //查看可用空間 2 [root@stu19 ~]# umount /luodata/ //卸載文件系統 3 4 [root@stu19 ~]# e2fsck -f /dev/luovg/mylv //強制執行檢測,確保不報錯 5 e2fsck 1.41.12 (17-May-2010) 6 Pass 1: Checking inodes, blocks, and sizes 7 Pass 2: Checking directory structure 8 Pass 3: Checking directory connectivity 9 Pass 4: Checking reference counts 10 Pass 5: Checking group summary information 11 /dev/luovg/mylv: 12/196608 files (0.0% non-contiguous), 29500/786432 blocks 12 13 [root@stu19 ~]# resize2fs /dev/luovg/mylv 2G //縮減邏輯邊界大小,即縮減文件系統到2G 14 resize2fs 1.41.12 (17-May-2010) 15 Resizing the filesystem on /dev/luovg/mylv to 524288 (4k) blocks. 16 The filesystem on /dev/luovg/mylv is now 524288 blocks long. 17 18 [root@stu19 ~]# lvreduce -L 2G /dev/luovg/mylv //縮減物理邊界大小,縮減至2G 19 WARNING: Reducing active logical volume to 2.00 GiB 20 THIS MAY DESTROY YOUR DATA (filesystem etc.) 21 Do you really want to reduce mylv? [y/n]: y 22 Reducing logical volume mylv to 2.00 GiB 23 Logical volume mylv successfully resized 24 25 [root@stu19 ~]# mount /dev/luovg/mylv /luodata/ //掛載文件系統 26 27 [root@stu19 ~]# df -lh //查看文件系統空間 28 Filesystem Size Used Avail Use% Mounted on 29 /dev/mapper/luovg-mylv 2.0G 67M 1.9G 4% /luodata 30 31 [root@stu19 luodata]# ls /luodata/ //查看原文件不受影響 32 a lost+found

9、縮減磁盤空間

發現物理磁盤空間空閒太多,可將其中一塊硬盤或分區去掉。

  • pvmove /dev/sdb3 /dev/sdb4 #將/dev/sdb3上存儲的數據移到其它空閒的物理卷中

  • vgreduce luovg /dev/sdbc #將/dev/sdb3從luovg卷組中移除

  • pvremove /dev/sdb3 #將/dev/sdb3從物理捲上移除

    1 [root@stu19 luodata]# pvs #查看物理卷信息 2 PV VG Fmt Attr PSize PFree 3 /dev/sda2 vg0 lvm2 a-- 59.99g 7.99g 4 /dev/sdb1 luovg lvm2 a-- 2.00g 4.00m 5 /dev/sdb2 luovg lvm2 a-- 3.01g 3.01g 6 /dev/sdb3 luovg lvm2 a-- 1.01g 1.01g 7 8 [root@stu19 luodata]# pvmove /dev/sdb3 #將/dev/sdb3上存儲的數據移到其它物理卷中 9 No data to move for luovg 10 11 [root@stu19 luodata]# vgreduce luovg /dev/sdb3 #將/dev/sdb3從luovg卷組中移除 12 Removed "/dev/sdb3" from volume group "luovg" 13 14 [root@stu19 luodata]# pvremove /dev/sdb3 #將/dev/sdb3從物理捲上移除 15 Labels on physical volume "/dev/sdb3" successfully wiped 16 17 [root@stu19 luodata]# pvs #g再次查看物理卷信息,已移除 18 PV VG Fmt Attr PSize PFree 19 /dev/sda2 vg0 lvm2 a-- 59.99g 7.99g 20 /dev/sdb1 luovg lvm2 a-- 2.00g 4.00m 21 /dev/sdb2 luovg lvm2 a-- 3.01g 3.01g 22

10、創建快照卷
LVM 的快照性能爲您提供了在某個特定時刻,在不導致服務中斷的情況下創建設備的虛擬映射可能性。
在提取快照後,當對原始設備進行修改時,快照特性會和在修改前提取快照一樣提供一個修改了的數據
區域的副本,以便重建設備的狀態。

如果快照已滿,那麼就會停止提取快照,因此需要確定源文件系統有足夠的空間。您可以常規監控快照的大小。

快照是可以重新設定大小的,因此如果您有額外的存儲容量,您可以增大快照卷容量以避免漏掉快照。

相反,如果您發現快照卷超過您的需要,您可以減小它來爲其它邏輯卷最大限度釋放空間。

注意:

1、文件系統的快照副本是虛擬副本,不是文件系統的真實介質備份。快照不是備份過程的替代行爲。

2、因爲快照在源卷有變化時會增大,所以常規使用 lvs 命令監控快照卷的比例以確定它還沒有被填
滿是很重要的。使用了 100% 的快照卷會完全丟失,因爲寫入源卷中不修改的部分的操作如果不
破壞快照是無法成功的。

使用 lvcreate 命令的 -s 參數創建快照卷。快照卷是可寫入的。

命令格式:#lvcreate -L 快照區大小 -s -n 快照名 被快照的邏輯卷

1 root@stu19 luodata]# lvcreate -L 512M -s -n mylv-snap /dev/luovg/mylv #爲邏輯卷mylv創建一個大小512M名字爲mylv-snap的快照 2 Logical volume "mylv-snap" created 3 4 [root@stu19 luodata]# mount /dev/luovg/mylv-snap /tmp/snap/ #掛載快照卷 5 6 [root@stu19 luodata]# lvs |grep mylv #查看邏輯卷信息 7 LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert 8 mylv luovg owi-aos--- 2.00g 9 mylv-snap luovg swi-aos--- 512.00m mylv 0.00
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章