22.5. 添加 DASD
以下是如何添加 DASD 卷的示例:
备注
如果在虚拟机中运行,请确定设备已被附加或链接到 Linux 系统。
CP LINK RHEL4X 4B2E 4B2E MR
DASD 4B2E LINKED R/W
过程 22.1. 在线启动磁盘
- 使用 cd 命令切换到代表那个卷的
/sys/目录:# cd /sys/bus/ccw/drivers/dasd-eckd/0.0.4b2e/ # ls -l total 0 -r--r--r-- 1 root root 4096 Aug 25 17:04 availability -rw-r--r-- 1 root root 4096 Aug 25 17:04 cmb_enable -r--r--r-- 1 root root 4096 Aug 25 17:04 cutype -rw-r--r-- 1 root root 4096 Aug 25 17:04 detach_state -r--r--r-- 1 root root 4096 Aug 25 17:04 devtype -r--r--r-- 1 root root 4096 Aug 25 17:04 discipline -rw-r--r-- 1 root root 4096 Aug 25 17:04 online -rw-r--r-- 1 root root 4096 Aug 25 17:04 readonly -rw-r--r-- 1 root root 4096 Aug 25 17:04 use_diag - 接下来,检查它是否已经在线:
# cat online 0 - 如果没有在线,请运行以下命令使其在线:
# echo 1 > online # cat online 1 - 请确认哪个块正在被访问:
# ls -l total 0 -r--r--r-- 1 root root 4096 Aug 25 17:04 availability lrwxrwxrwx 1 root root 0 Aug 25 17:07 block -> ../../../../block/dasdb -rw-r--r-- 1 root root 4096 Aug 25 17:04 cmb_enable -r--r--r-- 1 root root 4096 Aug 25 17:04 cutype -rw-r--r-- 1 root root 4096 Aug 25 17:04 detach_state -r--r--r-- 1 root root 4096 Aug 25 17:04 devtype -r--r--r-- 1 root root 4096 Aug 25 17:04 discipline -rw-r--r-- 1 root root 0 Aug 25 17:04 online -rw-r--r-- 1 root root 4096 Aug 25 17:04 readonly -rw-r--r-- 1 root root 4096 Aug 25 17:04 use_diag如本例中所示,设备 4B2E 正在作为/dev/dasdb进行访问。
另外,推荐的实现磁盘在线(自动自动)的方法是使用以下简单命令:
# chccwdev -e 4b2e
磁盘在线后,改回到
/root 目录并格式化该设备:
# cd
# dasdfmt -b 4096 -d cdl -f /dev/dasdb -l LX4B2E -p -y
cyl 97 of 3338 |#----------------------------------------------| 2%
当进度条达到结尾格式化完成时,使用 fdasd 对该设备进行分区:
# fdasd -a /dev/dasdb
auto-creating one partition for the whole disk...
writing volume label...
writing VTOC...
checking !
wrote NATIVE!
rereading partition table...
下一步,在新分区中创建一个文件系统:
# mke2fs -j /dev/dasdb1
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
300960 inodes, 600816 blocks
30040 blocks (5.00%) reserved for the super user
First data block=0
19 block groups
32768 blocks per group, 32768 fragments per group
15840 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 39 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
挂载新文件系统:
# mount /dev/dasdb1 /opt
# mount
/dev/dasda1 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
none on /dev/shm type tmpfs (rw)
/dev/dasdb1 on /opt type ext3 (rw)
向
/etc/fstab 添加条目,以便在 IPL 时挂载文件系统:
# vi /etc/fstab
# cat /etc/fstab
LABEL=/ / ext3 defaults
1 1
none /dev/pts devpts gid=5,mode=620
0 0
none /dev/shm tmpfs defaults
0 0
none /proc proc defaults
0 0
none /sys sysfs defaults
0 0
/dev/dasdb1 /opt ext3 defaults
1 2
将设备添加到
/etc/modprobe.conf 中 dasd_mod 的 选项行中,请务必在列表末尾添加新设备,否则它会更改 设备编号 : devnode 映射和文件系统不在其所在设备中。
# vi /etc/modprobe.conf
# cat /etc/modprobe.conf
alias eth0 qeth
options dasd_mod dasd=201,4B2E
重新运行 mkinitrd 以获取
modprobe.conf 的更改,以便该设备在下一个 IPL 后可以在线并挂载:
请注意,以下示例已略写了可读性和打印用途。以 "(elf64-s390)"结尾的每一行都应视为没有空格的一行,如
/tmp/initrd.AR1182/lib/dasd_mod.ko(elf64-s390)。
# cd /boot
# mv initrd-2.6.7-1.451.2.3.img initrd-2.6.7-1.451.2.3.img.old
# mkinitrd -v initrd-2.6.7-1.451.2.3.img 2.6.7-1.451.2.3
Looking for deps of module ide-disk
Looking for deps of module dasd_mod
Looking for deps of module dasd_eckd_mod dasd_mod
Looking for deps of module dasd_mod
Looking for deps of module dasd_fba_mod dasd_mod
Looking for deps of module dasd_mod
Looking for deps of module ext3 jbd
Looking for deps of module jbd
Using modules: ./kernel/drivers/s390/block/dasd_mod.ko
./kernel/drivers/s390/block/dasd_eckd_mod.ko
./kernel/drivers/s390/block/dasd_fba_mod.ko ./kernel/fs/jbd/jbd.ko
./kernel/fs/ext3/ext3.ko
Using loopback device /dev/loop0
/sbin/nash -> /tmp/initrd.AR1182/bin/nash
/sbin/insmod.static -> /tmp/initrd.AR1182/bin/insmod
copy from
/lib/modules/2.6.7-1.451.2.3/./kernel/drivers/s390/block/dasd_mod.ko
(elf64-s390) to
/tmp/initrd.AR1182/lib/dasd_mod.ko(elf64-s390)
copy from
/lib/modules/2.6.7-1.451.2.3/./kernel/drivers/s390/block/dasd_eckd_mod.ko
(elf64-s390) to
/tmp/initrd.AR1182/lib/dasd_eckd_mod.ko
(elf64-s390)
copy from
/lib/modules/2.6.7-1.451.2.3/./kernel/drivers/s390/block/dasd_fba_mod.ko
(elf64-s390) to
/tmp/initrd.AR1182/lib/dasd_fba_mod.ko
(elf64-s390)
copy from
/lib/modules/2.6.7-1.451.2.3/./kernel/fs/jbd/jbd.ko(elf64-s390) to
/tmp/initrd.AR1182/lib/jbd.ko(elf64-s390)
copy from
/lib/modules/2.6.7-1.451.2.3/./kernel/fs/ext3/ext3.ko(elf64-s390) to
/tmp/initrd.AR1182/lib/ext3.ko(elf64-s390)
Loading module dasd_mod with options dasd=201,4B2E
Loading module dasd_eckd_mod
Loading module dasd_fba_mod
Loading module jbd
Loading module ext3
运行 zipl 以将更改保存到下一个 IPL 的 initrd :
# zipl -V
Using config file '/etc/zipl.conf'
Target device information
Device..........................: 5e:00
Partition.......................: 5e:01
Device name.....................: dasda
DASD device number..............: 0201
Type............................: disk partition
Disk layout.....................: ECKD/compatible disk layout
Geometry - heads................: 15
Geometry - sectors..............: 12
Geometry - cylinders............: 3308
Geometry - start................: 24
File system block size..........: 4096
Physical block size.............: 4096
Device size in physical blocks..: 595416
Building bootmap '/boot//bootmap'
Building menu 'rh-automatic-menu'
Adding #1: IPL section 'linux' (default)
kernel image......: /boot/vmlinuz-2.6.7-1.451.2.3 at 0x10000
kernel parmline...: 'root=LABEL=/' at 0x1000
initial ramdisk...: /boot/initrd-2.6.7-1.451.2.3.img at 0x800000
Preparing boot device: dasda (0201).
Preparing boot menu
Interactive prompt......: disabled
Menu timeout............: disabled
Default configuration...: 'linux'
Syncing disks...
Done.