Linux操作系統以實際物理硬盤做為虛擬文件系統
給大家推薦一款很不錯的Linux操作系統很有學習價值,這里我主要講解Linux操作系統的應用,包括介紹xLinux操作系統知識等方面。虛擬Linux操作系統的文件存儲系統;我們虛擬的系統應該有一個存儲的地方,也就是文件系統。
被虛擬的系統能安裝和運行在哪些文件系統上呢?能安裝和運行在一個實際的物理分區上,一個映像文件中,或NFS等網絡文件系統中;
以實際物理硬盤做為虛擬Linux操作系統文件系統;
以實際物理硬盤分區做為虛擬Linux操作系統的文件系統,要經過硬盤分區,創建文件系統流程;請參考:《Linux 創建文件系統及掛載文件系統流程詳解》準備物理分區及創建文件系統;
《Linux 查看磁盤分區、文件系統、使用情況的命令和相關工具介紹》
《實例解說 fdisk 使用方法》
《合理規劃您的硬盤分區》
《Linux 創建文件系統及掛載文件系統流程詳解》
在物理分區上構建Linux操作系統;
構建Linux操作系統,目前在一個Linux操作系統中構建另一個Linux操作系統,主要是通過chroot工具和軟件包提取工具來構建。基礎的東西還是需要一點的,請參考:《通過chroot 構建Linux操作系統概要》
目前在開源社區中,已經有人把一些常用的發行版的基礎系統做好了。我們能拿過來直接用。呵。。。。。只要有基礎系統,我們就能chroot進入,我們就能用相應發行版軟件包管理器來構建Linux操作系統了。
Linux操作系統之基礎系統資源:http://jailtime.org您可以直接下載您喜歡的Linux操作系統,解壓后,然后掛載映像文件,然后把映像文件的內容都拷到物理分區中就好了。不過還得做一點小小的修改,比如您下載系統映像文件中的/etc/fstab等文件。要根據您的引導的虛擬Linux操作系統中定義的虛擬映射點來改。
虛擬Linux操作系統的引導文件中關于文件系統的定義;
如果您的硬盤有一定的空間,就可以把被虛擬的Linux操作系統安裝在硬盤的實際物理分區中,當然您首先得準備一個硬盤分區。然后格式化成Linux的文件系統,比如ext3或reiserfs 等;
然后是在這個分區上構建您想要虛擬的Linux操作系統,***才是寫虛擬Linux操作系統的引導配置文件,在配置文件中,要用phy:來指定。比如:disk = ['phy:hda7,sda1,w'] 中文意思就是:disk=['phy:分區,映射點,w']
這行是什么意思呢?就是表示被虛擬的Linux操作系統安裝在/dev/hda3,我們要把hda3硬盤分區虛擬映射到/dev/sda1,并且是可讀可寫的;在這里要值得注意的是虛擬平臺正在使用中的分區不能做為是映射點。
比如我在Slackware是位于/dev/hda6的虛擬平臺,也就是真實運行的Linux操作系統,我想用它來虛擬位于/dev/hda7分區的Fedora。所以我不能把/dev/hda6做為hda7的映射點。也就是下面一行是錯誤的:
- disk = ['phy:hda7,hda6,w'] 如何定義映射點,其實也比較好辦,只要符合Linux設備的規則就可以;比如下面的也可以;
- disk = ['phy:hda7,sda2,w']
- disk = ['phy:hda7,sda3,w']
- disk = ['phy:hda7,sdb1,w']
- disk = ['phy:hda7,sdb2,w']
- ... ...
什么是映射點呢?也就是說通過phy定義后,被虛擬的Linux操作系統的位于的真實的物理分區,在虛擬平臺中,被映射到另一個分區;可能這樣說有點不太明白。舉個例子吧:比如我們在Slackware虛擬Fedora ,而Fedora 位于/dev/hda7中。我們在引導Fedora的配置文件中定義Fedora所用的物理分區被映射到/dev/sda1;
- disk = ['phy:hda7,sda1,w']
- root = "/dev/sda1 ro"
當我們把Fedora引導起來的時候,Fedora的文件系統就是用被虛擬后的分區,也就是/dev/sda1。在Fedora中,我們通過df -h 查看到Fedora是位于/dev/sda1。所以在引導Fedora的配置文件中,還要有一行來指定Fedora的root在哪里,就在/dev/sda1上;因為/dev/hda7已經被虛擬到了/dev/sda1。這回明白了吧;
以映像文件做虛擬Linux操作系統的文件系統;
以映像文件做為虛擬Linux操作系統的文件系統,這種方法是比較常用。也是比較方便和易于操作的,也就是說被虛擬的Linux操作系統是放在了一個文件中。
創建映像文件;
- [root@localhost ~]# dd if=/dev/zero of=fedora50.img bs=2k seek=2048k count=1
- 讀入了 1+0 個塊
- 輸出了 1+0 個塊
- [root@localhost ~]# ls -lh fedora50.img
- -rw-r--r-- 1 root root 4.1G 2006-04-13 01:27 fedora50.img
我們可以用dd來創建映像文件,上面的例子是創建了大小為4.1G的體積的,名為fedora50.img的映像文件;您可以調整上面命令參數的大小來創建您想要的體積大小的映像文件。
格式化映像為Linux文件系統;
Linux文件系統,比如ext3或reiserfs,看自己喜歡吧;您可以用mkfs.ext3或mkfs.reiserfs命令來創建文件系統,請參考:
- [root@localhost ~]# /sbin/mkfs.ext3 fedora50,img
- mke2fs 1.38 (30-Jun-2005)
- fedora50,img is not a block special device.
- Proceed anyway? (y,n) y 注:在這里輸入y就時行格式化了,然后遇到提示之處,都是用回車。
這樣fedora50.img就是ext3文件系統了,你可以用mount -o loop 來掛載使用它,在它上面存儲文件等。
- [root@localhost ~]# mkdir /mnt/fedora50
- [root@localhost ~]# mount -o loop fedora50.img /mnt/fedora50
- [root@localhost ~]# df -h
- root@localhost:/opt# df -lh
- Filesystem 容量 已用 可用 已用% 掛載點
- /dev/hda6 12G 8.5G 3.3G 73% /
- /root/fedora50,img 4.0G 129M 3.7G 4% /mnt/fedora
上面的一系列命令執行下去后,說明fedora50.img已經掛載到了/mnt/fedora目錄中,我們可以向/mnt/fedora中存放文件。這樣就寫到了fedora50.img映像文件中。寫完后,我們可以卸載fedora50.img;[root@localhost ~]# umount /mnt/fedora
在映像文件上構建Linux操作系統;
在映像文件上構建Linux操作系統,目前在一個LinuxLinux操作系統中構建另一個Linux操作系統,主要是通過chroot工具和軟件包提取工具來構建。基礎的東西還是需要一點的,請參考:目前在開源社區中,已經有人把一些常用的發行版的基礎系統做好了。我們能拿過來直接用。
只要有基礎系統,我們就能chroot進入,我們就能用相應發行版軟件包管理器來構建Linux操作系統了。 Linux操作系統之基礎系統資源:http://jailtime.org虛擬Linux操作系統的引導文件中關于文件系統的定義;
- disk = ['file:/opt/vmos/vmos.img,sda1,w', 'file:/opt/vmos/vmos.swap,sda2,w']
- root = "/dev/sda1 ro"
我們還是以實例解說,把裝有vmos.img的映像映射到/dev/sda1 分區,vmos.img就是虛擬Linux操作系統root存放地。vmos.swap是被虛擬文件系統的交換分區,這個交換分區也是一個文件,被映射到了/dev/sda2 。然后通過root= 行來指定虛擬Linux操作系統所處的分區,這個位置就是被虛擬后的分區。
定義時要注意自己的這些文件存放在哪了?上面的例子表示vmos.img和vmos.swap是存放在/opt/vmos目錄中。要看好了。。
【編輯推薦】