歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

[Linux]VMware 無重啟添加scsi硬盤實現LVM動態擴容

注:本實驗在VMware 7.1.2 環境中完成,RHEL5.5,磁盤采用邏輯卷(LVM)的管理方式。

安裝了一些軟件過後發現虛擬機Linux的文件系統空間不夠了,

[root@server01 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      3.9G  3.7G     0 100% /       <==使用率已經高達100%
/dev/sda1              31M  7.8M   22M  27% /boot
tmpfs                 252M     0  252M   0% /dev/shm

於是想重新從物理硬盤上創建一塊虛擬硬盤添加上去,將新的硬盤格式化成邏輯卷,對磁盤進行擴容。


1.添加新硬盤

[1]在VMware中添加一塊虛擬硬盤是很簡單的: 選中你的虛擬機系統->設置,

[2]在彈出的 “虛擬機設置”中選擇最下方的添加,然後添加硬件類型 硬盤-> 下一步 ->創建一個新的虛擬磁盤 -> 選擇磁盤類型為SCSI

[這裡一定要選SCSI(Small Computer System Interface),即小型計算機系統接口。目前主流SCSI硬盤有兩種,一種是支持熱插拔的,還有一種數據接口和電源接口排列和普通IDE硬盤相似的不能熱插拔。]

最後根據提示做相應的設置,直至完成新硬盤的建立。

[3] 硬盤添加完成後,重啟後內核會自動探測到這個新的設備,並添加到系統中。你可以用 fdisk -l 命令查看到這塊硬盤,一般是以 /dev/sd[a,b,c,.....] 命名的設備。

[4] 但是在實際應用中,我們會選擇盡可能地不去重啟系統和服務,現在我們就來探討一種無重啟添加scsi硬盤的方法。

在第[2]步完成後,跳過第三步,我們先 cat /proc/scsi/scsi 這個文件,會看到系統中已經包含了一塊scsi硬盤


這時我們以root權限執行 echo "scsi add-single-device 0 0 1 0" > /proc/scsi/scsi  添加scsi設備

[*

解釋一下 scsi add-single-device a b c d 這個指令中的參數:                        # 相反  scsi remove-single-device a b c d 是用來移除設備的

a ------- Host 是硬盤所在的SCSI控制器的編號,這裡只有一個控制器,所以為0

b ------- Channel 硬盤所在SCSI通道的編號,這裡是單通道,為0

c ------- Id 硬盤的SCSI ID號,就是插入的硬盤插槽編號,

              這裡我最開始安裝虛擬Linux系統的時候虛擬了一個SCSI硬盤(SCSI ID為0),

              現在再虛擬一塊出來的話,SCSI ID為1

d ------- Lun ,硬盤的lun號[logical unit number]即邏輯單元號,指的是一個用於SCSI總線的唯一的識別號,

          總線使它能區別其他八個設備(它們每個都是一個邏輯單元)。

*]

這時再 cat /proc/scsi/scsi 就會發現新的scsi的相關信息已經加載到內核中去了。

檢測一下 fdisk -l : 已經有兩塊硬盤設備了: /dev/sda 和 /dev/sdb ,但是/dev/sdb上卻還沒有分區表,接下來我們將格式化這塊新的硬盤:



2.格式化成邏輯卷

[root@server01 ~]# fdisk /dev/sdb
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.


Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)


Command (m for help): n                      # n是新建一個分區
Command action
   e   extended                                           # e代表擴展分區
   p   primary partition (1-4)                     # p代表主分區
p                                                                  # 這裡我們選擇p,每個分區表最多可以有4個主分區
Partition number (1-4): 3                        # 可以選擇1-4,這裡我選3
First cylinder (1-522, default 1):            # 選擇首個柱面,默認的就好
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-522, default 522):      # 這裡如果選擇默認值的話就會使用整塊硬盤,你可以自定義大小如 +500M
Using default value 522


Command (m for help): p                      # p代表打印當前的分區表


Disk /dev/sdb: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes


   Device Boot      Start         End      Blocks   Id  System
/dev/sdb3               1         522     4192933+  83  Linux          # 這裡的文件系統為Linux,我想要Linux LVM的文件系統,那麼我需要轉換


Command (m for help): t                     #  t代表轉換文件系統
Selected partition 3                               # 當前分區表只有一個分區,默認選擇了分區3
Hex code (type L to list codes): 8e     # 8e代表LVM的文件系統標志,你也可以輸入 L 了解具體更多文件系統標志
Changed system type of partition 3 to 8e (Linux LVM)


Command (m for help): w                   # 這裡一定要記得保存,否則前功盡棄
The partition table has been altered!


Calling ioctl() to re-read partition table.
Syncing disks.
[root@server01 ~]# 

本篇暫時講到這裡,先歇歇手。磁盤已經格式化好了,下篇我們將一起來對原有的文件系統進行擴容。

Copyright © Linux教程網 All Rights Reserved