歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> [Linux]VMware 無重啟添加scsi硬盤實現LVM動態擴容

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

日期:2017/2/28 16:07:03   编辑:Linux教程

注:本實驗在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