首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Blade 和外部存储:设置一个容错环境(4)

Blade 和外部存储:设置一个容错环境(4)

步骤 6:用更多的 LUN 扩展文件系统 如果需要给操作系统分配更多磁盘空间,只需给 blade 分配更多存储单元,把它们添加到 LVM 中,并用新的磁盘空间扩展文件系统。
但是,在定义和使用新的存储单元之前,需要谈谈 Logical Volume Manager (LVM)。LVM 提供底层存储的抽象。它把一个或多个物理卷(磁盘)组合成卷组。卷组作为一个或多个逻辑卷的逻辑容器,它作为一个 SCSI 设备在 Linux 中出现(见图 7)。
图 7. Logical Volume                    Manager现在开始扩展文件系统。
在 Storage Manager 中定义新单元 用 Storage Manager 工具创建新的存储单元(见步骤 2)。
通过 LVM 在 Linux 中使用它们 在 Linux 中使用新的存储单元是一个分两阶段的过程。必须先把它们添加到 LVM 中,然后才能扩展实际的 Linux 文件系统。
用 hot_add 实用程序(它是 mppBusRescan 的链接)重新扫描 SAS 总线,寻找新映射的存储单元:
清单 12. 发现新的 LUN
1
2
3
4
5
6
7
8
9
10
11
[root@localhost ~]# hot_add
Starting new devices re-scan...
scan mptsas HBA host /sys/class/scsi_host/host1...
        found 1:0:0:1
        found 1:0:1:1
scan mptsas HBA host /sys/class/scsi_host/host0...
        no new device found
run /usr/sbin/mppUtil -s busscan...
scan mpp virtual host /sys/class/scsi_host/host3...
        found 3:0:0:1->/dev/sdb
/usr/sbin/hot_add is completed.




Linux 找到了一个新单元并把它映射到 /dev/sdb。注意,新单元由多路径驱动程序自动地管理。
为了为 LVM 准备此单元,创建一个包含整个磁盘的主 LVM 分区(分区类型 8e):
清单 13. 准备新的逻辑单元
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
[root@localhost ~]# 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.


The number of cylinders for this disk is set to 51200.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-51200, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-51200, default 51200):
Using default value 51200

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.




现在,把新单元集成到现有的卷组中。清单 14 说明在扩展之前和之后如何用 vgdisplay -s 进行检查:
清单 14. 扩展 LVM 卷组
1
2
3
4
5
6
7
8
9
10
11
[root@localhost ~]# vgdisplay -s
  "VolGroupBoot" 49.88 GB  [49.88 GB  used / 0    free]

[root@localhost ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created   

[root@localhost ~]# vgextend VolGroupBoot /dev/sdb1
  Volume group "VolGroupBoot" successfully extended

[root@localhost ~]# vgdisplay -s
  "VolGroupBoot" 49.88 GB  [49.88 GB  used / 49.97    free]




接下来,增加此卷组中的逻辑卷。可以用 lvdisplay 进行检查,比较 LV Size 行:
清单 15. 扩展 LVM 逻辑卷
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[root@localhost ~]# lvdisplay /dev/VolGroupBoot/LogVolSlash
  --- Logical volume ---
  LV Name                /dev/VolGroupBoot/LogVolSlash
  VG Name                VolGroupBoot
  LV UUID                dIanEg-J6Mf-60Ec-eUKb-rgoJ-dOM0-QmjQ3Q
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                47.94 GB
  Current LE             1534
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

[root@localhost ~]# lvextend -l +100%FREE /dev/VolGroupBoot/LogVolSlash /dev/sdb1
  Extending logical volume LogVolSlash to 97.91 GB
  Logical volume LogVolSlash successfully resized

[root@localhost ~]# lvdisplay /dev/VolGroupBoot/LogVolSlash
  --- Logical volume ---
  LV Name                /dev/VolGroupBoot/LogVolSlash
  VG Name                VolGroupBoot
  LV UUID                dIanEg-J6Mf-60Ec-eUKb-rgoJ-dOM0-QmjQ3Q
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                97.91 GB
  Current LE             3133
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0




现在,可以调整文件系统的大小了(对于 SAS 驱动器上的 50GB 空间,这需要大约两分钟)。如果调整根文件系统的大小,那么只有 ext3 支持联机调整(这意味着不必安排维护窗口)。
清单 16. 调整 Linux 文件系统的大小
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@localhost ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroupBoot-LogVolSlash      47G  2.3G   42G   6% /

[root@localhost ~]# resize2fs -p /dev/VolGroupBoot/LogVolSlash
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroupBoot/LogVolSlash is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroupBoot/LogVolSlash to 25665536 (4k) blocks.
The filesystem on /dev/VolGroupBoot/LogVolSlash is now 25665536 blocks long.

[root@localhost ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroupBoot-LogVolSlash
                       95G  2.3G   88G   3% /




现在完成了!
返回列表