通過losetup虛擬出塊設備(文件系統)
在Linux系統中,SCSI磁盤最多只支持15個分區(3個主分區sda1-sda3 + 1個擴展
分區sda4 + 11個邏輯分區sda5-sda15),而IDE磁盤也只支持63個分區
[root@rhel6 ~]# fdisk -l /dev/sda
Disk /dev/sda: 6442 MB, 6442450944 bytes
16 heads, 63 sectors/track, 12483 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00053d18
Device Boot Start End Blocks Id System
/dev/sda1 * 1 104 51200 83 Linux
/dev/sda2 104 11076 5529600 8e Linux LVM
/dev/sda3 11076 12116 524288 82 Linux swap / Solaris
/dev/sda4 12116 12483 185320 5 Extended
/dev/sda5 12116 12136 10400+ 83 Linux
/dev/sda6 12137 12157 10552+ 83 Linux
/dev/sda7 12158 12178 10552+ 83 Linux
/dev/sda8 12179 12199 10552+ 83 Linux
/dev/sda9 12200 12220 10552+ 83 Linux
/dev/sda10 12221 12241 10552+ 83 Linux
/dev/sda11 12242 12262 10552+ 83 Linux
/dev/sda12 12263 12283 10552+ 83 Linux
/dev/sda13 12284 12304 10552+ 83 Linux
/dev/sda14 12305 12325 10552+ 83 Linux
/dev/sda15 12326 12346 10552+ 83 Linux
/dev/sda16 12347 12367 10552+ 83 Linux
[root@rhel6 ~]# mkfs.ext4 /dev/sda16 //雖然可以劃出15個以上的分區,但無法格式化使用
mke2fs 1.41.12 (17-May-2010)
Could not stat /dev/sda16 --- No such file or directory
The device apparently does not exist; did you specify it correctly?
[root@rhel6 ~]# ls /dev/sda16
ls: cannot access /dev/sda16: No such file or directory
回環設備可以把文件虛擬成塊設備(block device),以便模擬整個文件系統,這樣用戶可以將其看作是硬盤驅動器或者光驅等設備,並掛載當作文件系統來使用。
這樣系統還可以額外增加多個分區(默認只有loop0-loop7)
losetup
-a 顯示所有已經使用的回環設備狀態
-d 卸除回環設備
-f 尋找第一個未使用的回環設備
-e <加密選項> 啟動加密編碼
[root@rhel6 ~]# losetup -f //查找第一個未使用的回環設備
/dev/loop0
[root@rhel6 ~]# losetup -a //顯示所有已經使用的回環設備狀態
[root@rhel6 ~]# dd if=/dev/zero of=loop.img bs=10M count=10
10+0 records in
10+0 records out
104857600 bytes (105 MB) copied, 0.794912 s, 132 MB/s
[root@rhel6 ~]# losetup -f loop.img //將 loop.img 虛擬成第一個未使用的回環設備
[root@rhel6 ~]# losetup -a
/dev/loop0: [fd00]:26524 (/root/loop.img)
[root@rhel6 ~]# losetup -f
/dev/loop1
[root@rhel6 ~]# mkfs.ext4 /dev/loop0
[root@rhel6 ~]# mount /dev/loop0 /mnt/
[root@rhel6 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/Lrhel6-root
3.9G 2.4G 1.4G 64% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 49M 27M 20M 59% /boot
/dev/loop0 97M 5.6M 87M 7% /mnt
[root@rhel6 ~]# umount /mnt/
[root@rhel6 ~]# losetup -d /dev/loop0 //卸除回環設備