linux下使用kpartx掛載虛擬文件系統

在linux中,若是映像文件(.img)含有分區表的話,那麼用losetup這個程序來加載文件系統就有點力不從心了。由於losetup只能加載無分區的文件系統映像文件。不過有一個好東西配合losetup卻能夠來掛載帶有分區表的映像文件。這就是kpartx了。 linux

廢話很少說,進入正題(其中X和Y要看你的掛接的狀況而看了): ios

#先建立一個1G大小的映像文件來作實驗
dd bs=4096 if=/dev/zero of=~/hd.img count=262144


#將映像文件掛接到loopX中去
losetup /dev/loopX ~/hd.img 

#對loopX進行分區
fdisk /dev/loopX

#我這裏分了兩個區,每一個去512M大小
      Device Boot      Start         End      Blocks   Id  System
/dev/loopXpY            2048     1050623      524288   83  Linux
/dev/loopXpY         1050624     2097151      523264   83  Linux

#正戲來了,使用kpartd裝載映像,使用kpartx是須要root用戶的,由於是用root登陸的,因此不用使用sudo。從前面的命令就能夠看出來...
kpartx -av ~/hd.img

#裝載以後,就能夠在/dev/mapper/目錄下看到兩個loopXpY的文件了。

#接下來對loopXpY進行格式化了。
mkfs.vfat /dev/mapper/loopXpY

#而後掛載文件系統。
mount /dev/mapper/loop1p1 /media/hd1

#OK,羅嗦完了。

使用完映像文件的文件系統後,想退出的話,可使用 kpartx -dv /dev/loopX 寫卸載剛纔掛接的東西。而後再使用losetup -d /dev/loopX斷掉和映像文件的掛接關係。 web

其中,kpartx -a指定去添加哪一個映像文件(add),-v是指掛到loop設備(verbose),-d就是delete的意思了。 shell

linux LVM分區查看dm設備
 
在linux中iostat -d查看磁盤狀態時,有的會有以下dm-0,dm-1的條目. 
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn 
sda               0.19         0.57         2.92     341228    1753052 
dm-0              0.27         0.56         2.88     334673    1729848 
dm-1              0.00         0.00         0.00        876          0 
 
若是在分區時利用了LVM,則通常會生成dm-N 邏輯卷(LogicVolume).它相似於普通分區時的一個分區如sda0之類的.只不過它利用了Mapper Device機制,在PysicalVolume上虛擬出來的分區信息. 
 
查找dm-N對應的掛載點 
1.sar -d 1 
  02:53:06 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     s vctm     %util 
02:53:07 PM    dev8-0      8.00      0.00     72.00      9.00      0.06      7.00      7.00      5.60 
02:53:07 PM  dev252-0      9.00      0.00     72.00      8.00      0.06      6.22      6.22      5.60 
02:53:07 PM  dev252-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
  
顯示dev252-0,dev252-1,即主設備號爲dev252(sda設備號爲dev8,這是linux爲設備生成的內部設備號),次設備號爲0,1 
 
2.cd /dev/mapper; ll 
lrwxrwxrwx  1 root root       7 Apr  3 16:12 yinbeiweb1-root -> ../dm-0 
lrwxrwxrwx  1 root root       7 Apr  3 16:12 yinbeiweb1-swap_1 -> ../dm-1 
  
 可看到軟鏈到 /dev/dm-N上. 
3.ll /dev/dm-* 
  brw-rw---- 1 root disk 252, 0 Apr  3 16:12 ../dm-0 
  brw-rw---- 1 root disk 252, 1 Apr  3 16:12 ../dm-1 
 
可看到二者的主設備號都是252

cat /proc/partitions app

parted命令
oop

[root@localhost ~]# parted /dev/sdb # 使用parted來對GPT磁盤操做,進入交互式模式
GNU Parted 1.8.1 Using /dev/sdb Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) mklabel gpt           # 將MBR磁盤格式化爲GPT
(parted) print                       #打印當前分區
(parted) mkpart primary 0 4.5TB                # 分一個4.5T的主分區
(parted) mkpart primary 4.5TB 12TB      # 分一個7.5T的主分區
(parted) print                         #打印當前分區
(parted) quit 退出
Information: Don’t forget to update /etc/fstab, if necessary. ui

相關文章
相關標籤/搜索