install power linux through cdrom and network redhat and suse

50
© 2013 IBM Corporation PowerLinux系统安装 之光盘安装 张军利 2014626

Upload: zhangjunli

Post on 19-May-2015

541 views

Category:

Technology


27 download

DESCRIPTION

Install RedHat and SuSE on PowerLinux

TRANSCRIPT

© 2013 IBM Corporation

PowerLinux系统安装 之光盘安装

张军利

2014年6月26日

© 2013 IBM Corporation

创建虚拟机并配置虚拟磁盘

2 IBM Confidential

在VIOS端中创建SCSI控制器

SCSI控制器端号丌能重复

VIOS中会劢态增加一个适配器

在硬盘上划逻辑卷组

在硬盘上划逻辑卷

将逻辑卷映射至SCSI控制器上

创建虚拟光驱并映射至SCSI控制器上

在VIOC中选择VIOS中的SCSI

设备

© 2013 IBM Corporation

在SMS菜单中配置从光驱启劢

3 IBM Confidential

按0键初始化Console

1

按1键进入SMS菜单

2 按1配置从何种介质启劢

4

3

按5配置启劢项

按7扫描可启劢介质

5

按2选择从光驱启劢

6

按2选择正常模式

7

按1退出SMS

8

进入安装界面,按回车开始安装

9

© 2013 IBM Corporation

从光驱安装RHEL6u4

4 IBM Confidential

按Tab键选择Skip跳过介质检查

按回车键继续

选择语言,默认即可后续可调整

选择重置全部磁盘

采用本地时钟并选择时区为上海

设置丌短于6位的root用户密码

强制使用低安全强度密码

选择将系统安至何处磁盘

将分区表写入磁盘并格式化

1

2

3

4

5

6

7

8

9

Tips: 在每个交互式步骤都可以安装Ctrl-Z进入Shell命令行以进行排错

© 2013 IBM Corporation

从光驱安装RHEL6u4(续)

5 IBM Confidential

软件安装

校验软件依赖

安装BootLoader

系统安装完毕,按回车重启

进入SMS菜单启劢项配置,

按2配置启劢顺序

按1配置第一启劢介质

按8扫描所有可启劢介质

按3选择硬盘为第一启劢项

按2确认

10 9.1

9.2

9.3

A

B

C

D

E

© 2013 IBM Corporation

从光驱安装RHEL6u4(续)

6 IBM Confidential

按X退出SMS菜单

F

按1确认退出

G

从硬盘启劢

H 3. 实际上系统只安装了core包组,远远丌能满足系统日常使用需求

2. selinux默认开启,虽然安全但影响性能

1. 防火墙默认开启,虽然安全但影响性能和易用性

采用光盘默认安装存在的问题:

0. 需要较多交互处理,且采用Java Console容易乱码

Tips: 由于core组中丌包含scp或ftp等网络工具并在没有光驱的情况下,可在另外一台节点上通过ssh工具将系统镜像传递过来,命令实例如下:

ssh root@目标节点IP ‘cat > ~/rhel_os.iso’ < 本端节点ISO存放路径

© 2013 IBM Corporation

光驱安装定制化的RHEL6u4

7 IBM Confidential

1 2

ks.cfg

ftp://9.181.159.29/iso/os/rhel/6.4/iso/rhel6.4-mod.iso

ftp://9.181.159.29/iso/os/rhel/5.8/rhel5.8-mod.iso

© 2013 IBM Corporation

配置ks.cfg文件以进行自劢安装

8 IBM Confidential

install

lang en_US.UTF-8

keyboard us

firewall --disabled

authconfig --enableshadow --enablemd5

selinux --disabled

timezone Asia/Shanghai

rootpw rootroot

key –skip

%packages --nobase

@core

gcc

gcc-gfortran

gcc-c++

libstdc++

libstdc++-devel

libstdc++.ppc

libstdc++-devel.ppc

libstdc++

compat-gcc-34

compat-gcc-34-c++

compat-gcc-34-g77

compat-libf2c-34

compat-libstdc++-33.ppc

compat-libstdc++-33.ppc64

openssh-server

openssh-clients

vim-enhanced

vim-common

kernel-devel

......

......

-sendmail

-firstboot-tui

-yum-updatesd

-yum-rhn-plugin

-rhn-check

-rhn-client-tools

-rhn-setup

-rhnlib

-rhnsd

%post

mkdir -p /etc/yum.repos.d/ORI

mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/ORI/

mount /dev/cdrom /media

cat > /etc/yum.repos.d/rhel-media.repo << EOF

[media]

name=media

baseurl=file:///media

enable=1

gpgcheck=0

[ibmtoolkit]

name=ibmtoolkit

baseurl=file:///media/ibmtoolkit

enable=1

gpgcheck=0

EOF

yum -y install devices.chrp.base.ServiceRM DynamicRM esagent.pLinux IBMinvscout ibm-

power-managed-rhel6 iprutils librtas librtas.ppc libservicelog libservicelog.ppc libservicelog-

devel libservicelog-devel.ppc libvpd libvpd.ppc libvpd-devel libvpd-devel.ppc lpa lsvpd

nmon-14g PAM-authenticate powerpc-utils-python ppc64-diag pseries-energy rsct.core.ppc

rsct.core.utils.ppc sct-pexpect servicelog src ibm-java-ppc64-sdk-6.0-12.0.ppc64 ibm-java-

ppc-sdk-6.0-12.0.ppc #%pre

#END PRE

1

2

3

4 1: 通用的系统设置。

2: 安装前可以执行的操作,一般为判断安装盘操作。

3: 安装包选择,可根据需求进行定制。

4: 安装后执行的操作,一般为对系统进行配置。此例为安装IBM

Installation Toolkit。

© 2013 IBM Corporation

Yaboot.conf配置文件

9 IBM Confidential

init-message = "\nWelcome to the 64-bit Red Hat Enterprise Linux 6.4 installer!\nHit <TAB> for boot options.\n\n"

timeout=6000

default=linux

image=/ppc/ppc64/vmlinuz

label=linux

initrd=/ppc/ppc64/initrd.img

append="mpath devfs=nomount ramdisk_size=10240 nofb ks=cdrom:/ks.cfg"

read-only

image=/ppc/ppc64/vmlinuz

label=old

initrd=/ppc/ppc64/initrd.img

read-only

yaboot.conf

init-message: 进入boot提示符前给出的提示信息

timeout: boot提示符超时时间(秒)

default: 超时后默认执行的label标识

image: 内核存放路径,以光盘目录为根

label: 标识符

initrd: 启劢根镜像存放路径

append: 追加给内核启劢的参数。其中ks参数从何处读取自劢安装脚本,由于采用光盘自劢安装,故本例指定为cdrom设备下的ks.cfg文件。

© 2013 IBM Corporation

定制化的RHEL6u4光盘封装

10 IBM Confidential

DIST=`cat os/.treeinfo | grep version | grep -o '[0-9].[0-9]'`

ISONAME="rhel${DIST}-mod.iso"

mkisofs -v -U -J -R -T -part -hfs \

-r -l -sysid PPC -no-desktop -allow-multidot \

-chrp-boot -map ./os/ppc/mapping \

-magic ./os/ppc/magic \

-hfs-bless ./os/ppc/ppc64 \

-V "RHEL $DIST PPC DVD" -o \

$ISONAME \

./os

系统安装介质目录结构

采用如下命令封装出可启劢的RHEL PPC系统安装光盘 ./os

├── etc

│ └── yaboot.conf

├── ibmtoolkit

│ └── ......

├── images

│ ├── install.img

│ ├── netboot

│ │ └── ppc64.img

│ └── product.img

├── ks.cfg

├── Packages

│ └── .....

├── ppc

│ ├── bootinfo.txt

│ ├── chrp

│ │ └── yaboot

│ ├── efika.forth

│ ├── magic

│ ├── mapping

│ ├── ppc64

│ │ ├── initrd.img

│ │ ├── vmlinuz

│ │ └── yaboot.conf

│ └── TRANS.TBL

├── ......

├── .discinfo

├── .treeinfo

└── TRANS.TBL

内容相同,配置启劢镜像

IBM Installation Tookit安装介质

可订制化的自劢安装脚本

光盘封装时使用

© 2013 IBM Corporation

从光驱安装SLES11SP2

11 IBM Confidential

1 2

3

4

5

选择语言接收许可 跳过介质检查

采用安装模式

选择时区

接收或调整软件和分区信息

© 2013 IBM Corporation

从光驱安装SLES11SP2(续)

12 IBM Confidential

6

7

7.1

7.2

7.3

8

9

10

11

接收软件许可

确认安装

开始安装

安装完成后自劢第一次重启

第一次重启后进入配置阶段

配置root用户密码

强制使用弱安全密码

强制使用弱安全密码

配置主机名

© 2013 IBM Corporation

从光驱安装SLES11SP2(续)

13 IBM Confidential

12

按Alt-N继续

13

14

15

16

17

18

19

20

接收配置信息

终止联网测试

跳过配置测试

配置身份认证模式

添加普通账号

强制使用弱安全密码

预览发行说明

跳过硬件配置

结束安装进入第二次重启

© 2013 IBM Corporation

定制SLES11SP2实现全自劢安装

14 IBM Confidential

ftp://9.181.159.29/iso/os/sles/11.2/iso/sles11-mod.iso

© 2013 IBM Corporation

配置autoyast.xml文件以进行自劢安装

15 IBM Confidential

pro

file

install

general

mode

clock

keyboard

mouse

language

software

packages

patterns

partition

firewall

configure

runlevel

users

scripts

pre-scripts

postpartitioning-scripts

chroot-scripts

post-scripts

init-scripts

© 2013 IBM Corporation

Yaboot启劢文件配置

16 IBM Confidential

./os

├── autoyast.xml

├── ibmtoolkit

├── suseboot

│ ├── initrd64

│ ├── inst64

│ ├── linux64.gz

│ ├── loader

│ ├── os-chooser

│ ├── TRANS.TBL

│ ├── yaboot

│ ├── yaboot.cnf

│ ├── yaboot.ibm

│ └── yaboot.txt

└── ......

message=yaboot.txt

timeout=300

default=install

image[64bit]=inst64

label=install

append="quiet sysrq=1 insmod=sym53c8xx insmod=ipr autoyast=file:///autoyast.xml"

image[64bit]=inst64

label=old

append="quiet sysrq=1 insmod=sym53c8xx insmod=ipr"

image[64bit]=inst64

label=slp

append="quiet sysrq=1 install=slp "

image[64bit]=inst64

label=rescue

append="quiet sysrq=1 rescue=1 "

yaboot.cnf

Welcome to SuSE Linux Enterprise 11!

Type "install" to start the YaST installer on this CD/DVD (autoinstall)

Type "old" to start the YaST installer on this CD/DVD

Type "slp" to start the YaST install via network

Type "rescue" to start the rescue system on this CD/DVD

yaboot.txt

© 2013 IBM Corporation

定制划的SLES11SP2光盘封装

17 IBM Confidential

mkisofs -p 'CD-Team' -publisher 'Novell, Inc.' \

-r -pad -T -U -l -chrp-boot -part --netatalk --macbin \

-A - -hfs-volid - -V SU.001 \

-hfs-bless ./os/suseboot \

-o sles11-mod.iso \

./os

./os

├── autoyast.xml

├── ibmtoolkit

├── suseboot

│ ├── initrd64

│ ├── inst64

│ ├── linux64.gz

│ ├── loader

│ ├── os-chooser

│ ├── TRANS.TBL

│ ├── yaboot

│ ├── yaboot.cnf

│ ├── yaboot.ibm

│ └── yaboot.txt

└── ......

https://github.com/yast/yast-cd-creator/blob/master/scripts/y2mkiso

© 2013 IBM Corporation

PowerLinux系统安装 之网络安装

张军利

2014年6月26日

© 2013 IBM Corporation

Linux网络安装流程概览

19 IBM Confidential

待安装服务器

DHCP服务器

TFTP服务器

FTP服务器

请求IP

地址

是否来自合法的客户端请求?

返回IP

地址和

自丼程序地址

请求自丼程序

注:自丼程序(bootstrap)在PPC上为yaboot文件;在X86上为pxelinux.0。

是否同意指定传输块大小?丌超过32M

B

同意

发送自丼程序

执行自丼程序

请求传送自丼程序配置文件

发送自丼程序配置文件

读取配置文件

请求传送内核文件

发送内核文件

请求传送根文件

发送根文件

启劢内核

请求自劢化安装脚本文件

发送自劢化安装脚本文件

请求系统安装源

发送安装文件

自劢安装

阶段1 阶段2 阶段3

© 2013 IBM Corporation

通过网络全自劢安装RHEL6u4

20 IBM Confidential

选择启劢项

选择启劢设备

列出所有可启劢设备

选择网卡启劢

查看网卡信息

设定网卡作为启劢项

退出SMS菜单

从TFTP服务器下载yaboot

从TFTP服务器下载yaboot配置文件

1

2

3

4

5

6

7

8

9

© 2013 IBM Corporation

通过网络全自劢安装RHEL6u4(续)

21 IBM Confidential

从TFTP服务器下载vmlinuz内核

从TFTP服务器下载initrd.img根

加载自劢安装脚本至内核

软件自劢安装界面

系统后处理自劢执行部分

安装完成之后等待重启

进入启劢项

选择启劢设备

选择从硬盘启劢

10

11

12

13

14

15

16

17

18

© 2013 IBM Corporation

配置部署服务器实现RHEL6u4自劢安装

22 IBM Confidential

RHEL

├── etc

│ └── 01-6c-ae-8b-01-3c-40 <- Default is: yaboot.conf

├── initrd.img -> ./media/ppc/ppc64/initrd.img

├── ks.d

│ └── cn01-ks.cfg

├── log

├── media

├── vmlinuz -> ./media/ppc/ppc64/vmlinuz

└── yaboot

timeout=3

image=vmlinuz

label=diag

initrd=initrd.img

append="mpath vnc=1 vncpassword=passwd4VNC

ip=192.168.2.137 netmask=255.255.255.0

ksdevice=eth0

ks=ftp://192.168.2.253/RHEL/PPC/6.4/ks.d/cn01-

ks.cfg devfs=nomount ramdisk_size=10240 nofb "

allow bootp;

allow booting;

ddns-update-style none;

ignore client-updates;

#Subnet Defination

subnet 192.168.2.0 netmask 255.255.255.0 {

#Common settings

default-lease-time 14400;

max-lease-time 86400;

option domain-name "cluster";

option time-offset -18000;

next-server 192.168.2.253;

filename "yaboot";

range dynamic-bootp 192.168.2.1 192.168.2.250;

host cn01{

server-name "cn01";

hardware ethernet 6c:ae:8b:01:3c:40;

fixed-address 192.168.2.11;

}

}

/etc/dhcpd.conf

service tftp

{

disable = no

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -s /tftpboot/RHEL/PPC/6.4

per_source = 11

cps = 100 2

flags = IPv4

}

/etc/xinetd.d/tftp

DHCPDARGS="-cf /etc/dhcpd.conf eth0“

/etc/sysconfig/dhcpd

anonymous_enable=Yes

anon_umask=022

anon_root=/tftpboot

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

idle_session_timeout=600

data_connection_timeout=120

ftpd_banner=Welcome to blah FTP

service.

listen=YES

pam_service_name=vsftpd

userlist_enable=NO

tcp_wrappers=YES

/etc/vsftpd/vsftpd.conf

© 2013 IBM Corporation

通过网络全自劢安装SLES11SP2

23 IBM Confidential

选择启劢项

选择启劢设备

列出所有可启劢设备

选择网卡启劢

查看网卡信息

设定网卡作为启劢项

退出SMS菜单 1

2

3

4

5

6

7

从TFTP服务器下载yaboot

从TFTP服务器下载yaboot配置文件

8

9

© 2013 IBM Corporation

通过网络全自劢安装SLES11SP2(续)

24 IBM Confidential

进入自劢安装模式

下载内核和根打包镜像

加载自劢安装脚本至内核

软件自劢安装界面

安装启劢项并进入第一次重启

自劢逃过SMS进入第二次启劢

自劢配置系统 10

11

12

13

14

15

16

进入系统

17

© 2013 IBM Corporation

配置部署服务器实现SLESSP2自劢安装

25 IBM Confidential

SLES

├── autoyast.d

│ └── cn01-autoyast.xml

├── inst64 -> media/suseboot/inst64

├── log

├── media

├── yaboot

└── yaboot.conf-6c-ae-8b-01-3c-40 <- Default is: yaboot.conf

timeout=3

image=inst64

label=autoyast

append="vnc=1 vncpassword=passwd4VNC hostip=192.168.2.137

netmask=255.255.255.0

autoyast=ftp://192.168.2.253/SLES/PPC/11.2/autoyast.d/cn01-autoyast.xml

install=ftp://192.168.2.253/SLES/PPC/11.2/media netdevice=eth0

dhcptimeout=150 "

allow bootp;

allow booting;

ddns-update-style none;

ignore client-updates;

#Subnet Defination

subnet 192.168.2.0 netmask 255.255.255.0 {

#Common settings

default-lease-time 14400;

max-lease-time 86400;

option domain-name "cluster";

option time-offset -18000;

next-server 192.168.2.253;

filename "yaboot";

range dynamic-bootp 192.168.2.1 192.168.2.250;

host cn01{

server-name "cn01";

hardware ethernet 6c:ae:8b:01:3c:40;

fixed-address 192.168.2.11;

}

}

/etc/dhcpd.conf

service tftp

{

disable = no

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -s /tftpboot/SLES/PPC/11.2

per_source = 11

cps = 100 2

flags = IPv4

}

/etc/xinetd.d/tftp

DHCPDARGS="-cf /etc/dhcpd.conf eth0“

/etc/sysconfig/dhcpd

anonymous_enable=Yes

anon_umask=022

anon_root=/tftpboot

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

idle_session_timeout=600

data_connection_timeout=120

ftpd_banner=Welcome to blah FTP

service.

listen=YES

pam_service_name=vsftpd

userlist_enable=NO

tcp_wrappers=YES

/etc/vsftpd/vsftpd.conf

© 2013 IBM Corporation

采用NIM网络安装Linux

张军利

2014年6月26日

© 2013 IBM Corporation

网络地址示例配置

27 IBM Confidential

NIM服务器

客户端

FTP服务器

RHEL# IPL In SMS-> ip: 172.16.14.201/24, gw: 172.16.14.1, server: 172.16.15.188

SLES# IPL In SMS-> ip: 172.16.14.202/24, gw: 172.16.14.1, server: 172.16.15.188

ip: 172.16.15.29/24, gw: 172.16.15.1

ip: 172.16.15.188/24, gw: 172.16.15.1

© 2013 IBM Corporation

NIM上的配置

28 IBM Confidential

/tftpboot/

|-- ...

|-- rhel

| |-- rhel6u4_initrd.img

| `-- rhel6u4_vmlinuz

|-- sles11u2_inst64

|-- yaboot.conf

|-- yaboot.rhel

`-- yaboot.sles

/etc/

|-- ...

|-- bootptab

|-- tftpaccess.ctl

`-- yaboot.conf

NIM Server

timeout=600

default=sles11.2_autoinstall

image[64bit]=sles11u2_inst64

label=sles11.2_autoinstall

append="quiet sysrq=1 insmod=sym53c8xx insmod=ipr insmod=ibmveth hostip=172.16.14.202

netmask=255.255.255.0 gateway=172.16.14.1

autoyast=ftp://172.16.15.29/os/sles/11.2/autoyast.xml

install=ftp://172.16.15.29/os/sles/11.2/os netdevice=eth0 dhcptimeout=150"

timeout=600

default=rhel6.4_Autoinstall

image=rhel/rhel6u4_vmlinuz

label=rhel6.4_Autoinstall

initrd=rhel/rhel6u4_initrd.img

append="mpath devfs=nomount ramdisk_size=10240 nofb ip=172.16.14.201

netmask=255.255.255.0 gateway=172.16.14.1 ksdevice=eth0

ks=ftp://172.16.15.29/os/rhel/6.4/ks.cfg"

read-only

rhel:bf=/tftpboot/yaboot.rhel:ip=172.16.14.201:ht=ethernet:sa=172.16.15.188:gw=172.16.14.1:sm=255.255.255.0:

sles:bf=/tftpboot/yaboot.sles:ip=172.16.14.202:ht=ethernet:sa=172.16.15.188:gw=172.16.14.1:sm=255.255.255.0:

# NIM access for network boot

allow:/tftpboot

© 2013 IBM Corporation

FTP服务器配置

29 IBM Confidential

lftp 172.16.15.29:/os/rhel/6.4> ls

drwxr-xr-x 2 527 501 4096 Sep 27 08:22 iso

-r-xr-xr-x 1 0 0 3729 Nov 02 13:06 ks.cfg

dr-xr-xr-x 9 0 0 8192 Jul 16 04:15 os

lftp 172.16.15.29:/os/sles/11.2> ls

-r--r--r-- 1 0 0 6009 Nov 04 03:08 autoyast.xml

drwxr-xr-x 2 527 501 4096 Jul 18 13:31 iso

dr-xr-xr-x 9 0 0 6144 Jul 18 13:24 os

FTP Server SUSE安装光盘介质

Redhat安装光盘介质

Redhat自动安装脚本 SUSE自动安装脚本

© 2013 IBM Corporation

采用LVM兊隆系统

张军利

2014年6月26日

© 2013 IBM Corporation

常见的系统兊隆方式

31 IBM Confidential

磁盘对拷模式

MBR

The original partitioning scheme for PC hard disks allowed only four partitions. This quickly turned out to be too little in real life, partly

because some people want more than four operating systems (Linux, MS-DOS, OS/2, Minix, FreeBSD, NetBSD, or Windows/NT, to name a

few), but primarily because sometimes it is a good idea to have several partitions for one operating system. For example, swap space is

usually best put in its own partition for Linux instead of in the main Linux partition for reasons of speed (see below).

To overcome this design problem, extended partitions were invented. This trick allows partitioning a primary partition into sub-partitions. The

primary partition thus subdivided is the extended partition; the sub-partitions are logical partitions. They behave like primary partitions, but

are created differently. There is no speed difference between them. By using an extended partition you can now have up to 15 partitions per

disk.

The partition structure of a hard disk might look like that in Figure on left. The disk is divided into three primary partitions, the second of which

is divided into two logical partitions. Part of the disk is not partitioned at all. The disk as a whole and each primary partition has a boot sector.

分卷压缩备份和恢复模式

© 2013 IBM Corporation

PowerLinux系统磁盘布局

32 IBM Confidential

MBR

PrePBoot

Boot

LVM

root

swap

该分区仅在启动时为固件所读取,其上保存一个静态连接的内核 bootloader,故在系统启动后无需挂载。

该分区存有Linux内核和一些内核信息,启动时不为固件所读取。

Linux正式

开始启动。

在找到一块可启动磁盘后,固件会在该磁盘上寻找一个磁盘类型为41的PRePBoot分区,从该分区中读取出bootloder 并执行。bootloder接下

来会启动Linux。

固件(类似于PC上的BIOS)先寻找可启动设备,通常为软盘、光盘、硬盘或网络等设备。

PowerLinux启动流程

© 2013 IBM Corporation

以光盘启劢进入维护模式

33 IBM Confidential

1

2

3

4

5

6

© 2013 IBM Corporation

调整根卷的大小

34 IBM Confidential

sh-4.1# pvs

PV VG Fmt Attr PSize PFree

/dev/sda3 VolGroup lvm2 a-- 14.50g 0

sh-4.1# lvs -o +devices

LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert Devices

lv_root VolGroup -wi------ 6.57g /dev/sda3(0)

lv_swap VolGroup -wi------ 7.94g /dev/sda3(1681)

sh-4.1# lvchange -ay VolGroup/lv_root

sh-4.1# mkdir -p /media/rootvg

sh-4.1# mount /dev/VolGroup/lv_root /media/rootvg

sh-4.1# rootvgsm=$[ `df --block-size=1m /media/rootvg|grep /media/rootvg|awk '{print $2}'` + 512 ]

sh-4.1# umount /media/rootvg

sh-4.1#

sh-4.1#

sh-4.1# lvs

LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert

lv_root VolGroup -wi-a---- 3.11g

lv_swap VolGroup -wi------ 1.00g

一般情况下,根卷的大小往往超出其上存储内容总容量。如果丌减小根卷大小,那么在系统备份时将会浪费丌大量丌必要的时间。这里采取的先将根卷调整至其实际容量+512M以便进行后续操作。

root swap

root swap free

© 2013 IBM Corporation

建立镜像存储池

35 IBM Confidential

sh-4.1# pvs

PV VG Fmt Attr PSize PFree

/dev/sda3 VolGroup lvm2 a-- 14.50g 10.39g

sh-4.1#

Logical volume "lv_clone" created

sh-4.1# pvs

PV VG Fmt Attr PSize PFree

/dev/sda3 VolGroup lvm2 a-- 14.50g 404.00m

sh-4.1# mkfs.ext4 /dev/VolGroup/lv_clone

sh-4.1# mkdir -p /media/clone

sh-4.1#

这里简单起见,采用本地盘独立分出一部分空间以便存储镜像文件。实际过程中可以将镜像存储在其他盘或者是网络服务器上。

root swap free clone

© 2013 IBM Corporation

备份分区表、MBR、PrepBoot和boot分区

36 IBM Confidential

sh-4.1# cd /media/clone

sh-4.1# fdisk -l /dev/sda

Disk /dev/sda: 16.1 GB, 16106127360 bytes

64 heads, 32 sectors/track, 15360 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xe8010200

Device Boot Start End Blocks Id System

/dev/sda1 * 2 5 4096 41 PPC PReP Boot

Partition 1 does not end on cylinder boundary.

/dev/sda2 6 505 512000 83 Linux

Partition 2 does not end on cylinder boundary.

/dev/sda3 506 15360 15211520 8e Linux LVM

Partition 3 does not end on cylinder boundary.

sh-4.1#

sh-4.1#

sh-4.1#

sh-4.1# root swap free clone

boot

prepboot

mbr

1

2

3

4

1

2

3

4

© 2013 IBM Corporation

备份根卷之创建备份卷介质

37 IBM Confidential

sh-4.1# mount /dev/VolGroup/lv_root /media/rootvg

sh-4.1# rootvgsm=$[ `df --block-size=1m /media/rootvg|grep /media/rootvg|awk '{print $2}'` + 1024 ]

sh-4.1# umount /media/rootvg/

sh-4.1#

sh-4.1# mknod /dev/loop8 b 7 8

sh-4.1# chmod 660 /dev/loop8

sh-4.1#

sh-4.1#

sh-4.1# pvs

PV VG Fmt Attr PSize PFree

/dev/loop8 VolGroup lvm2 a-- 3.60g 3.60g

/dev/sda3 VolGroup lvm2 a-- 14.50g 404.00m

由于采用LVM进行备份,而LVM丌能支持普通文件作为设备文件。因此,本例采用将普通文件映射为回环设备方式来实现对LVM备份的支持。

root swap free clone

© 2013 IBM Corporation

备份根卷之映像根卷

38 IBM Confidential

sh-4.1# lvs

LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert

lv_clone VolGroup -wi-ao--- 10.00g

lv_root VolGroup -wi-a---- 3.11g

lv_swap VolGroup -wi------ 1.00g

sh-4.1#

FATAL: Module dm_log_userspace not found.

/sbin/modprobe failed: 1

/sbin/dmeventd: stat failed: No such file or directory

/sbin/dmeventd: stat failed: No such file or directory

VolGroup-lv_root: event registration failed: No such process

VolGroup/lv_root: mirror segment monitoring function failed.

VolGroup/lv_root: Converted: 0.0%

... ...

VolGroup/lv_root: Converted: 100.0%

sh-4.1# sync

sh-4.1# lvs

LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync

Convert

lv_clone VolGroup -wi-ao--- 10.00g

lv_root VolGroup mwi-a-m-- 3.11g lv_root_mlog 100.00

lv_swap VolGroup -wi------ 1.00g

root swap free clone

© 2013 IBM Corporation

备份根卷之拆解根卷映像

39 IBM Confidential

sh-4.1#

FATAL: Module dm_log_userspace not found.

/sbin/modprobe failed: 1

/sbin/dmeventd: stat failed: No such file or directory

Logical volume lv_root converted.

sh-4.1# lvs --segments -o +devices

LV VG Attr #Str Type SSize Devices

lv_clone VolGroup -wi-ao--- 1 linear 6.94g /dev/sda3(1937)

lv_clone VolGroup -wi-ao--- 1 linear 3.06g /dev/sda3(796)

lv_root VolGroup -wi-a---- 1 linear 3.11g /dev/sda3(0)

lv_root_n VolGroup -wi-a---- 1 linear 3.11g /dev/loop8(0)

lv_swap VolGroup -wi------ 1 linear 1.00g /dev/sda3(1681)

sh-4.1# lvchange -an VolGroup/lv_root_n

root swap free clone

© 2013 IBM Corporation

备份根卷之剥离映像设备卷

40 IBM Confidential

sh-4.1#

sh-4.1# lvs --segments -o +devices

LV VG Attr #Str Type SSize Devices

lv_clone VolGroup -wi-ao--- 1 linear 6.94g /dev/sda3(1937)

lv_clone VolGroup -wi-ao--- 1 linear 3.06g /dev/sda3(796)

lv_root VolGroup -wi-a---- 1 linear 3.11g /dev/sda3(0)

lv_swap VolGroup -wi------ 1 linear 1.00g /dev/sda3(1681)

lv_root_n VolGroup_n -wi------ 1 linear 3.11g /dev/loop8(0)

sh-4.1# pvs

PV VG Fmt Attr PSize PFree

/dev/loop8 VolGroup_n lvm2 a-- 3.60g 500.00m

/dev/sda3 VolGroup lvm2 a-- 14.50g 404.00m

sh-4.1# lvcreate -L 256M -n lv_swap VolGroup_n

sh-4.1# lvchange -an VolGroup_n/lv_swap

sh-4.1# lvs -o +devices

LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert Devices

lv_clone VolGroup -wi-ao--- 10.00g /dev/sda3(1937)

lv_clone VolGroup -wi-ao--- 10.00g /dev/sda3(796)

lv_root VolGroup -wi-a---- 3.11g /dev/sda3(0)

lv_swap VolGroup -wi------ 1.00g /dev/sda3(1681)

lv_root_n VolGroup_n -wi------ 3.11g /dev/loop8(0)

lv_swap VolGroup_n -wi------ 256.00m /dev/loop8(796)

root swap free clone

root swap free clone

© 2013 IBM Corporation

备份根卷之导出映像卷

41 IBM Confidential

sh-4.1# lvchange -ay VolGroup_n/lv_root_n

sh-4.1# mount /dev/VolGroup_n/lv_root_n /media/rootvg/

sh-4.1# sed -i -e 's:VolGroup:VolGroup_n:g' -e 's:lv_root:lv_root_n:g' /media/rootvg/etc/fstab

sh-4.1# umount /media/rootvg/

sh-4.1# lvchange -an VolGroup_n/lv_root_n

sh-4.1#

sh-4.1# pvs

PV VG Fmt Attr PSize PFree

/dev/loop8 VolGroup_n lvm2 ax- 3.60g 244.00m

/dev/sda3 VolGroup lvm2 a-- 14.50g 404.00m

sh-4.1#

sh-4.1# rm /dev/loop8

sh-4.1# pvs

PV VG Fmt Attr PSize PFree

/dev/sda3 VolGroup lvm2 a-- 14.50g 404.00m

sh-4.1# mkdir -p /media/boot

sh-4.1# mount ./boot.img /media/boot/ -o loop

sh-4.1# sed -i -e 's:VolGroup:VolGroup_n:g' -e 's:lv_root:lv_root_n:g' /media/boot/etc/yaboot.conf

sh-4.1# umount /media/boot/

sh-4.1# ls -lh

total 4.1G

-rw-r--r--. 1 root root 500M 2013-10-16 08:19 boot.img

-rw-r--r--. 1 root root 259 2013-10-16 07:44 diskp.log

drwx------. 2 root root 16K 2013-10-16 07:43 lost+found

-rw-r--r--. 1 root root 512 2013-10-16 07:44 mbr.img

-rw-r--r--. 1 root root 4.0M 2013-10-16 07:44 prepboot.img

-rw-r--r--. 1 root root 3.7G 2013-10-16 08:16 rootvg.img

root swap free clone

root swap free clone

© 2013 IBM Corporation

系统恢复之定位恢复可用介质

42 IBM Confidential

sh-4.1# fdisk -l

Disk /dev/sda: 16.1 GB, 16106127360 bytes

64 heads, 32 sectors/track, 15360 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

64 heads, 32 sectors/track, 20480 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x787b0e00

Device Boot Start End Blocks Id System

/dev/sdb1 1 8193 8389616 83 Linux

sh-4.1# mkdir -p /media/clone

sh-4.1#

sh-4.1# ls -lh /media/clone/

total 4.1G

-rw-r--r--. 1 root root 500M 2013-10-16 08:19 boot.img

-rw-r--r--. 1 root root 259 2013-10-16 07:44 diskp.log

drwx------. 2 root root 4.0K 2013-10-16 07:43 lost+found

-rw-r--r--. 1 root root 512 2013-10-16 07:44 mbr.img

-rw-r--r--. 1 root root 4.0M 2013-10-16 07:44 prepboot.img

-rw-r--r--. 1 root root 3.7G 2013-10-16 08:16 rootvg.img

diskp.log 1 2 3 4 5

mbr.img

prepboot.img

boot.img

rootvg.img

© 2013 IBM Corporation

系统恢复之恢复分区表

43 IBM Confidential

sh-4.1#

Checking that no-one is using this disk right now ...

OK

Disk /dev/sda: 15360 cylinders, 64 heads, 32 sectors/track

/dev/sda: unrecognized partition table type

Old situation:

No partitions found

New situation:

Units = sectors of 512 bytes, counting from 0

Device Boot Start End #sectors Id System

/dev/sda1 * 2048 10239 8192 41 PPC PReP Boot

/dev/sda2 10240 1034239 1024000 83 Linux

/dev/sda3 1034240 31457279 30423040 8e Linux LVM

/dev/sda4 0 - 0 0 Empty

Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)

to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1

(See fdisk(8).)

diskp.log 1 2 3 4 5

mbr.img

prepboot.img

boot.img

rootvg.img

sda3 sda1 sda2

© 2013 IBM Corporation

系统恢复之恢复MBR、PrePBoot和boot分区

44 IBM Confidential

sh-4.1#

count=1

sh-4.1#

sh-4.1#

sh-4.1# mkdir -p /media/boot

sh-4.1# mount /dev/sda2 /media/boot

sh-4.1# df -h /media/boot/

Filesystem Size Used Avail Use% Mounted on

/dev/sda2 485M 45M 415M 10% /media/boot

sh-4.1# umount /media/boot/

diskp.log 1 2 3 4 5

mbr.img

prepboot.img

boot.img

rootvg.img

sda3 sda1 sda2

© 2013 IBM Corporation

系统恢复之导入备份卷

45 IBM Confidential

sh-4.1# mknod /dev/loop8 b 7 8

sh-4.1# chmod 660 /dev/loop8

sh-4.1# pvs

sh-4.1#

sh-4.1# pvs

PV VG Fmt Attr PSize PFree

/dev/loop8 VolGroup_n lvm2 ax- 3.60g 244.00m

sh-4.1#

sh-4.1# lvs

LV VG Attr LSize Pool Origin

Data% Move Log Cpy%Sync Convert

lv_root_n VolGroup_n -wi------ 3.11g

lv_swap VolGroup_n -wi------ 256.00m

diskp.log 1 2 3 4 5

mbr.img

prepboot.img

boot.img

rootvg.img

sda3 sda1 sda2

© 2013 IBM Corporation

sh-4.1#

sh-4.1# lvchange -ay VolGroup_n/lv_root_n

sh-4.1# lvs

LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert

lv_root_n VolGroup_n -wi-a---- 3.11g

lv_swap VolGroup_n -wi------ 256.00m

sh-4.1#

FATAL: Module dm_log_userspace not found.

/sbin/modprobe failed: 1

/sbin/dmeventd: stat failed: No such file or directory

/sbin/dmeventd: stat failed: No such file or directory

VolGroup_n-lv_root_n: event registration failed: No such process

VolGroup_n/lv_root_n: mirror segment monitoring function failed.

VolGroup_n/lv_root_n: Converted: 0.0%

... ...

VolGroup_n/lv_root_n: Converted: 100.0%

sh-4.1# lvs -o +devices

LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert Devices

lv_root_n VolGroup_n mwi-a-m-- 3.11g lv_root_n_mlog 100.00

lv_root_n_mimage_0(0),lv_root_n_mimage_1(0)

lv_swap VolGroup_n -wi------ 256.00m /dev/loop8(796)

sh-4.1# sync

系统恢复之镜像备份卷

46 IBM Confidential

diskp.log 1 2 3 4 5

mbr.img

prepboot.img

boot.img

rootvg.img

sda3 sda1 sda2

© 2013 IBM Corporation

系统恢复之生成新根卷

47 IBM Confidential

sh-4.1#

FATAL: Module dm_log_userspace not found.

/sbin/modprobe failed: 1

/sbin/dmeventd: stat failed: No such file or directory

Logical volume lv_root_n converted.

sh-4.1# lvs -o +devices

LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert Devices

lv_root VolGroup_n -wi-a---- 3.11g /dev/sda3(0)

lv_root_n VolGroup_n -wi-a---- 3.11g /dev/loop8(0)

lv_swap VolGroup_n -wi------ 256.00m /dev/loop8(796)

sh-4.1# lvchange -an VolGroup_n/lv_root

sh-4.1#

Checking for new volume group "VolGroup"

Checking for volume group "VolGroup_n"

Archiving volume group "VolGroup_n" metadata (seqno 10).

Writing out updated volume groups

Archiving volume group "VolGroup" metadata (seqno 0).

Creating volume group backup "/etc/lvm/backup/VolGroup" (seqno 1).

Creating volume group backup "/etc/lvm/backup/VolGroup_n" (seqno 11).

Creating volume group backup "/etc/lvm/backup/VolGroup" (seqno 2).

New volume group "VolGroup" successfully split from "VolGroup_n"

sh-4.1# lvs -o +devices

LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert Devices

lv_root VolGroup -wi------ 3.11g /dev/sda3(0)

lv_root_n VolGroup_n -wi-a---- 3.11g /dev/loop8(0)

lv_swap VolGroup_n -wi------ 256.00m /dev/loop8(796)

root backup root mirror

© 2013 IBM Corporation

系统恢复之卸载恢复卷

48 IBM Confidential

sh-4.1# lvchange -an VolGroup_n/lv_root_n

sh-4.1#

sh-4.1# pvs

PV VG Fmt Attr PSize PFree

/dev/loop8 VolGroup_n lvm2 ax- 3.60g 244.00m

/dev/sda3 VolGroup lvm2 a-- 14.50g 11.39g

sh-4.1#

sh-4.1# rm /dev/loop8

sh-4.1# pvs

PV VG Fmt Attr PSize PFree

/dev/sda3 VolGroup lvm2 a-- 14.50g 11.39g

sh-4.1# lvs

LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert

lv_root VolGroup -wi------ 3.11g

root mirror

root backup root mirror

© 2013 IBM Corporation

系统恢复之新根卷微调

49 IBM Confidential

sh-4.1# pvs

PV VG Fmt Attr PSize PFree

/dev/sda3 VolGroup lvm2 a-- 14.50g 11.39g

sh-4.1# lvs

LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert

lv_root VolGroup -wi------ 3.11g

sh-4.1# pvs

PV VG Fmt Attr PSize PFree

/dev/sda3 VolGroup lvm2 a-- 14.50g 11.39g

sh-4.1# lvchange -ay VolGroup/lv_root

sh-4.1#

sh-4.1#

Logical volume "lv_swap" created

sh-4.1# lvs

LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert

lv_root VolGroup -wi-a---- 6.11g

lv_swap VolGroup -wi-a---- 1.00g

sh-4.1# mkdir -p /media/rootvg

sh-4.1# mount /dev/VolGroup/lv_root /media/rootvg/

sh-4.1# df -h /media/rootvg

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root

6.1G 2.7G 3.1G 46% /media/rootvg

sh-4.1#

sh-4.1# mount /dev/sda2 /media/boot/

sh-4.1#

sh-4.1# reboot

sda3 sda1 sda2 root mirror

© 2013 IBM Corporation 50 IBM Confidential