注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

中国古代易经之精华四柱八字之研究和实践

偏印是人类潜藏的灵感和智慧,火克金初形成之水是智慧之源泉。

 
 
 

日志

 
 

Unix操作系统查询手册(1)  

2009-12-03 13:09:37|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

UNIX 查询手册

1. 自举和关机 
2. 用户权限与系统安全 
3. 文件系统(包括UFS、NFS以及共享系统文件) 
4. 设备及其驱动程序 
5. 备份 
6. 配置内核和系统性能分析 
7. 网络 
8. 应用软件 
9. SHELL编程 
10. 其它 
11. 正则表达式
12. 常用命令 
13. awk介绍
14. sed介绍
15. tr介绍
16. Vi的三种工作状态
17. MAKE介绍

1. 自举和关机
? 在BSD系统上,脚本文件保存在/etc/目录下,文件名以rc两个字母开头;在ATT系统上,启动脚本文件保存在/etc/init.d目录中,并被符号链接到目录/etc/rc0.d、/etc/rc1.d等之下。
HP_UX上启动脚本在/etc/rc.config.d下
? ATT系统启动脚本被分解成多个小而可管理的片段,当init在各个运行级别之间变动时,相应片段就被激活。每个运行级别的精确定义由/etc/inittab决定。
? Init是系统自举后运行的第一个进程,它的PID是1,是所有用户进程和多数系统进程的祖先。在启动时,init或将系统置于单用户模式,或者派生一个shell去读启动文件。系统关机是通过向init发一个SIGTERM信号来完成的,使得系统进入单用户模式。
init运行等级包括(常用到的有3、S、0、6):
  0:firmware,可以安全关机。
  1:系统管理员状态,mount所有文件系统,保留一小部分基本的内核进程,无用户登录。
  2:多用户状态
  3:扩展多用户状态,所有资源在网络上可用
  4:可被定义为可选的多用户状态,
  5:为关闭电源而将系统shut down(HP_UX上关闭不了电源,HP上没有任何指令能关电源)
  6:停止OS并reboot到缺省的level,一般是3
  S=s,单用户状态,仅有root自己登录。
? 查引导信息/var/adm/message,HP_UX上查/var/adm/syslog/syslog,如果宕机HP_UX会将镜像写道/var/adm/crash目录下,但只能用专门工具看
? 查Solaris系统默认init状态,/etc/inittab;查询当前系统运行级别用who  –r
(详见632 Linux 与Unix Shell 编程指南  第28章)
? 启动和停止服务的其他方法
可以修改/etc/inittab实现,但如果不想把/etc/inittab文件弄得过于杂乱,还有其他的方法可以实现启动和停止服务的功能。大多数系统都含有一个名为rc.local的文件,一般来说也是位于/etc目录下。该脚本文件将在inittab和运行级别脚本之后运行。可以在该文件中加入任何命令,或从中调用最习惯用的启动脚本。
? 有些系统还在/bin目录下(更多的是在/usr/sbin目录下)含有一个名为shutdown的脚本文件。可以使用它来关闭某些服务。
? boot –s切换至单用户,boot –a交互状态,安装新硬件时boot –r 运行重新配置脚本;boot CDROM从CDROM上安装系统,boot CDROM –s表示采用光盘引导启动主机进入单用户模式。还有查一下,SI重启经常用boot  --  -r
? 可以使用以下两种方法来暂时禁止用户登录来禁止新的登录进程的产生:a)使系统进入运行级别0(单用户模式)。b)建立一个/etc/nologin文件,当拥护登录到一个含有/etc/nologin文件的系统,文件/etc/nologin中信息会被显示出来,用户的登录过程也被终止,但它不会影响root登录。
? 启停没有接显示器的Sun Server时,可以用console将微机与SUN相连。微机端接com1,SUN端接A/B,微机上采用超级终端,每秒位数选择9600,则可以用微机以终端方式显示Sun的启停过程。注意连接时,Sun主机必须去除显示器和键盘,否则连不上。
? Solaris启动流程详见solaris.doc,HP_UX的启动流程如下:
1) 硬件检查完毕后,boot程序选取引导设备;
2) Power-On Self Test(POST) 并由一个名为Processor Dependent Code(PDC)的特殊固件程序(驻留ROM中的启动程序)执行processor初始化;
3) PDC提供操作员一个10秒钟窗口用于决定是否覆盖自动boot顺序;
4) 如果processor初始化成功,并且自动boot顺序并未被覆盖,PDC则使用Primary Boot Path(the hardware path the system chooses to boot from is stored in stable-storage or non-volatile memory)去定位装载入内存,运行ISL程序;
5) 使用二级引导工具hpux定位并装载核心模块/stand/vmunix到内存中;
6) 核心模块探测硬件部分,以便检测每个设备匹配的硬件地址和对应的驱动;
7) HP-UX经历初始化过程后,开始常规操作,准备用户登录。
注释:
1) Boot ROM初始化Primary boot path,装载ISL,提供操作员选择手工还是自动启动模式;
2)stable storage是与每一个PA-RISC处理器相关联的模块,一般提供CPU用于保存设备路径信息,启动标志状态(autoboot和autosearch等),硬件错误信息以及OS初始化数据等。stable storage中保存的信息可以通过以下3种方式显示或者修改:
1) PDC包含的指令;
2) 在ISL提示行,可以通过display或者aotoboot等命令进行显示或者修改;
3) /usr/sbin/setboot命令,不加参数缺省显示当前值
4) HP-UX核心模块获取控制之后,就开始运行pre_init_rc脚本,该脚本会在任何进程写硬盘之前采用fsck检修root disk。为安全起见,千万不要修改该脚本。
? HP-UX中init流程(init actions after booting):
1) init进程所做的第1件事就是读取inittab,寻找运行级别是initdefault的对应记录;如果没有找到,init会提示administrator指定;
2) init初始化核心数据结构,调用ioinitrc,使用/etc/ioconfig中信息;然后调用insf为系统所有新设备创建设备文件并分配instance number;
3)init从inittab中查询出action字段为boot或者bootwait的那些记录,执行相应命令(通常执行命令中都包括/sbin/bcheckrc);
4) 运行级别为initdefault的对应进程被运行;
5) 系统按照initdefault设定级别引导。
? HP-UX中/sbin/bcheckrc(Boot Check Run Command)主要用于检查系统是否正确关闭
1) 如果系统使用disk mirroring,则bcheckrc调用/sbin/mirrorrc,主要工作包括:configuring mirrors、running fsck、invoking mirrorlog and re-imaging mirrors;
2) 如果系统使用了LVM(logical volume manager),bcheckrc会调用/sbin/lvmrc以激活LVM的volume groups;
3) 判断系统是否正确关闭,bcheckrc调用fsclean。fsclean检查/etc/fstab中类型为hfs或者vxfs的每一个文件系统的一致性(reboot或者shutdown正常关闭,系统会在superblock中做标记),如不一致(系统未正常关机),则bcheckrc会自动调用fsck
? HP_UX中“shutdown -ry 0 ”相当于reboot,但比reboot好,可以彻底释放资源,而reboot可能有些服务没有真正关闭重启;“shutdown  –hy  0”相当于halt。

2. 用户权限与系统安全
? chown -R aimc:aisoft  dir  可以直接修改用户和组
? su - usr 与 su usr的区别是,前者不仅能转换用户,而且能将环境设置改为usr的
sudo:  "/usr/local/bin/sudo  su  - "切换到root
? /bin/passwd程序使用exec这一机制来临时获取超级用户特权的。它设置有setuid或setgid权限位,进程的有效UID或GID就不会改设为程序文件的UID或GID。
? pwck和grpck用于检查passwd和group文件完整性。vipw:用于手工编辑/etc/passwd文件,对文件加锁,不允许其他用户同时使用。
? /etc/shadow含有经加密的口令以及保密时限和帐号的有效期。
? 文件权限位前面的那个字符的含义,我们现在就解释一下这个横杠所代表的意思,文件类型有七种,它可以从ls -l命令所列出的结果的第一位看出,这七种类型是:
  d  目录
  l  符号链接(指向另一个文件)
  s  套接字文件
  b  块设备文件
  c  字符设备文件
  p  命名管道文件
  -  普通文件,或者更准确地说,不属于以上几种类型的文件
? 掩码为文件或目录设置的权限值是用777减掉变量umask的值得到的。Chmod命令是让文件获得许可权,而umask是禁止文件的某种许可权。例如:chmod 022是让组用户和其他用户获得写权限,而umask 022是禁止组用户和其他用户对文件有写权限。
你可以通过s选项为一个文件增加User ID和Group ID权限。下面的例子为由root用户所拥有的myconfig程序增加了User ID权限。当一个普通用户运行myconfig程序时,root用户将保持所有权,并允许myconfig程序改变root拥有的文件。
            chmod  +s  /usr/bin/myconfig
User ID和Group ID 权限在所有者和组部分中的执行权限位置显示出了一个s。User ID和Group ID实际上是执行权限x的变种。读、写和User ID权限将写成rws而不是rwx。
             ls  -l  /usr/bin/myconfig
             -rwsr-sr-x   root   /usr/bin/myconfig
suid意味着如果某个用户对属于自己的SHELL脚本设置了这种权限,那么其他用户在执行这一脚本时也会具有其属主的相应权限。于是,如果root用户的某一个脚本设置了这样的权限,那么其他普通用户在执行它的期间也同样具有root用户的权限。同样的原则也适用于guid,执行相应脚本的用户将具有该文件所属用户组中用户的权限。
? 另外的一个特殊的权限提供了对程序充分的使用。“粘接”位会指示系统在一个程序执行完以后将它保持在虚拟内存(swap区)当中。这对于经常由很多的用户执行的小程序来说是非常有用的。这个粘接位权限是t。该粘接位在其他类权限组中的执行权限位置显示一个t。一个具有读和执行权限的程序加上粘接位的话则将它的权限显示为‘r-t’。
             chmod  +t   /usr/bin/mycal
            ls  -l  /usr/bin/mycal
             -rwxr-xr-t   root   /usr/bin/mycal
? logins命令只允许以root执行,它显示所有用户信息。“logins –x –l ”显示指定用户扩展的登录信息,“logins -p”显示没有密码的的帐户。
? 查su日志/var/adm/sulog可以监视什么人使用了su命令
? 通过修改/etc/default/login文件可以限制root对一些特殊设备的访问。例如,将“#CONSOLE=/dev/console”该行开头的#注释删除,可以禁止root直接在console上登录,可以先已其它帐户登录再su为root,这样就可以保证记录在/etc/adm/sulog中。
? 访问控制列表ACLs可以提供比UNIX文件访问权限更强的控制,它可以为拥有者、组用户、其他用户、特殊用户和组用户定义许可权来提供更高的文件安全性,它允许为这些不同的组定义缺省的许可权。
? /dev/kmem允许访问内核的地址空间,它是由象ps这样需要查看内核数据结构的程序使用的。
? 诸如/etc/hosts.equiv和~/.rhosts这些文件定义在管理上“彼此等价”的主机,它们允许用户不键入自己的保密字就在主机之间登录和拷贝文件。/etc/host.equiv文件是只允许共享登录名和UID的主机等效,而且应使用全限定的DNS主机名。
? /etc/hosts.allow和/etc/host.deny中设置了哪些IP允许访问当前主机的哪些服务,例如hosts.allow中设置如下:
in.telnetd: 202.106.196.73 202.106.46.76
in.ftpd: 202.96.12.119 202.106.46.76
? inetd是管理其他daemon的守护进程,它在有任务时启动相应的客户daemon,在任务完成后允许它们正常终止,因此inetd负责管理telnet和ftp服务。inetd使用配置文件/etc/inetd.conf和/etc/services决定应监听的网络端口。在inetd.conf中增加一项新服务,也需将它加入到services文件中。
HP_UX中:/usr/sbin/inetd是可执行程序,-c选项表示重新读取配置文件/etc/inetd.conf,-k选项表示杀进程。/sbin/init.d/inetd是脚本,启动用参数start,停止用参数stop。
如果想停止FTP Server,则必须将inetd.conf中ftp一行屏蔽。
? 如果对telnet或者ftp等服务做限制,需要修改hosts.allow和hosts.deny文件。既可以选择solaris系统自带的/etc/hosts.allow,也可以使用第三方软件tcpwrapper提供的/user/local/security/tcp_wrappers_7.6/etc/hosts.allow。具体采用哪一个hosts.allow,需要在/etc/inetd.conf中明确指定。
? 修改一台Solaris主机的hostname,除了执行hostname命令之外,还需要手工修改如下文件:/etc/hosts    /etc/hostname.hme0    /etc/nodename
? tcpwrapper的配置文件/user/local/security/tcp_wrappers_7.6/etc/hosts.allow内容如下:
    ALL : 202.106.46. 202.96.0.176 132.68.45. 202.106.196. 61.135.229.140 : banners/usr/local/security/tcp_wrappers_7.6/banner/
    in.ftpd : 61.135.229.58 : banners /usr/local/security/tcp_wrappers_7.6/banner/
    ALL : all : deny
每条记录分为三列,以“:”分隔。最左侧是服务名称,第二列是针对该服务放开的IP,可以设定为一个子网,例如“132.68.45.”
? 从/etc/inetd.conf中可以查询当前系统是否安装了tcpwrapper,比如telnet一行,如果其中一项是/usr/sbin/in.telnetd,则未装tcpwrapper。如果是/usr/local/bin/tcpd,则安装了tcpwrapper。
? 在HP_UX中,当用户登录后,按步骤顺序执行如下:
1) system login script:  /etc/profile  /etc/csh.login(或者/etc/.login)
2) local login script:   $HOME/.profile  $HOME/.login  $HOME/.cshrc
3) additional local login script:   $HOME/.kshrc
3. 文件系统(包括UFS、NFS以及共享系统文件)
? 文件系统是内核用于表示和组织系统存储资源的抽象概念。内核文件存放在根文件系统中,通常为/unix、/vmunix或/kernal/unix。/var为假脱机操作目录,登记文件,记帐信息及其他各种增长或变化迅速的并且每台主机各不相同的条目提供存放空间。/usr是作为主机特定文件的存放地创建的,这样/usr就可以在多台主机之间共享了。
? FILESYSTEM :对于本地文件系统使用/etc/default/fs中默认值,对于远程文件系统使用/etc/dfs/fstypes
? 设备文件可以使用mknod命令创建,使用rm命令删除;命名管道也可以使用mknod创建,使用rm删除。
? 硬链接和符号链接的差别是:硬链接是直接引用,符号链接则是名字引用;符号链接不同于它们所指向的文件。
? 硬链接在一起的文件的inode number是相同的。所以根据一个文件的inode number可以查找出对应的源文件的路径。例如, 通过“ls  -i  *”可以列出当前目录下所有文件的inode number,例如
    229638 -rw-r--r--   1 root     sys         1708 1998   9月  1 README
     17688 -rwxr--r--   6 root     sys         2307 1998   9月  1 S15nfs.server
    212196 -rwxr--r--   1 root     sys          840 10月 25 11:58 S50oracle
     17724 -rwxr--r--   6 root     sys          404 1998   9月  1 S76snmpdx
17723 -rwxr--r--   6 root     sys          861 1998   9月  1 S77dmi
根据上述信息可以看出S76snmpdx是一个被链接了6次的文件,它的inode number是17724。然后通过“find  /etc  –inum 17724  -print”可以将目录/etc下inode number等于17724的对应硬链接一并找到。得到:
./init.d/init.snmpdx
./rc0.d/K07snmpdx
./rc1.d/K07snmpdx
./rc2.d/K07snmpdx
./rc3.d/S76snmpdx
./rcS.d/K07snmpdx
? 八进制值为4000和2000的两个位分别是setuid和setgid位,这些位允许程序访问运行它们的用户本来无权访问的文件或进程。多数UNIX只在文件本身可执行的前提下才留意该设置。如果设置了setuid,代表属主执行权限的x会被替换成S;如果设置了setgid,代表属组执行权限的x会被替换成s。
例如,AIMC中jmail.mta进程需要借助root权限访问25低端口,所以设置为:
-rwsrwx---   1 root     aisoft
? 配置磁盘分区FileSystem采用newfs,mkfs等命令。newfs和mkfs都可用于在一个分区内安装文件系统。
? Solaris系统中,/usr/sbin/swap用来显示使用的交换空间,和在磁盘上增加和移动交换区。
1) 显示交换空间:使用选项 l 在每个交换设备上显示全部的磁盘扇区(块)列表和未使用的扇区(自由)    swap  -l
2) 创建和增加交换区:附加的交换分区可以是规则文件(由命令 mkfile 创建)也可以是磁盘分区
   #  mkfile  10m  /exp/swap  (mkfile 来创建一个10M的交换分区)
   #  swap  –a  /exp/swap   (增加一个交换文件,然后更新交换空间列表)
3) 移除交换区:使用选项 -d 来移除交换区
   #  swap  –d  /exp/swap
而在HP_UX上则采用swapon,如下:
1) 新增device swap:swapon  /dev/vg01/lvo13
                   swapon  -e  /dev/dsk/c0t4d0
2) 新增file system swap: swapon  -l  40M  -r  80M  -p  3  /extra
     将文件系统extra中划最多40Mb作为swap空间,留80M用于其它方面。
3) 显示swap空间采用swapinfo命令,-a显示device swap、system swap和memory paging space等所有信息
? 在用format改变了分区大小之后,要创建一个文件系统,存在分区上的数据是通过文件系统来使用的。newfs命令是mkfs命令的前端友好界面,它创建文件系统,即为保存以后要在该文件系统上创建的所有文件和目录信息而搭建的结构。
#  newfs  -F  fstype   /dev/rdsk/c0t0d0s0
? 增加一块硬盘并做文件系统的步骤如下, 接入硬盘—— boot –r —— format —— newfs —— mount —— df查看
? lost+found目录是构建文件系统时自动创建的,fsck使用它来处理紧急情况,不能删。如果fsck找到一个其父目录无法确定的文件,就把它放到所在文件系统顶层的lost+found目录中。既然一个文件的名字只记录在该文件的父目录中,孤儿文件的名字因而无法确定,放在lost+found中的文件于是以它们的索引节点号命名。
? NFS处理的是FileSystem的逻辑层而不是物理层,它由若干组件构成,建立在Sun的XDR和RPC机制上,其中XDR提供跟主机体系结构无关的数据表示办法,RPC则提供网络远程过程调用的接口。客户机端的请求由服务器端nfsd即NFS守护进程处理。
? 在Solaris 2.x操作系统中,nfsd 是一个使用内核线程来处理所有的NFS请求的单一进程。如果服务器上没有足够的可用线程来服务每个客户端的请求,客户端性能也是难以忍受的。默认为16个线程给每个偶然的NFS用户。但是,如果一个低终端SPARC类的服务器同时运行几百个线程还是有些负荷过重的。调整系统启动时的nfsds数在脚本:/etc/rc3.d/S15nfs.server或 /etc/init.d/nfs.server
? Solaris采用/etc/dfs/dfstab取代SunOS的/etc/exports作为NFS服务器的share配置文件,Solaris使用share命令来出口文件系统。
HP_UX:exportfs读取/etc/exports,必须保证NFS Server——/sbin/init.d/nfs.server启动,参数为start和stop,用SAM中network  services也可以启动。
? Solaris采用/etc/vfstab取代了SunOS的/etc/fstab作为NFS客户机的mount配置文件,,属于永久性配置的那些mount项必须列在该文件中,便于在自举时自动完成。/etc/mnttab中保存了当前已加栽的文件系统信息,当mount或umount或自动加载卸载时会自动修改该文件。
/etc/vfstab中填写如下内容,vxfs表示veritas格式文件系统,比ufs快
/dev/dsk/c0t3d0s6       /dev/rdsk/c0t3d0s6      /data1  vxfs    2       yes  -
? nfsstat用来显示关于NFS和RPC的内核接口的统计信息,对决定NFS的客户/服务器的一个时期内的工作负荷也是很有用。其中nfsstat –s用于显示NFS服务器进程的统计信息,nfsstat  -c则显示与客户机端操作相关的信息;读和写的大小可以通过 nfsstat 加选项-m来测定
? 当在加载点加载或自动加载一个FileSystem时,任何在本地加载点目录存储的文件或目录被隐藏,在该文件系统加载期间不可访问,当该FileSystem卸载时,它们又变为可以使用。
? 如果mountd守护进程没有运行,其他的系统就可以访问共享的文件系统。如果mountd没有运行,则必须先停止NFS服务(/etc/rc3.d/s15nfs.server stop)再重新启动它们(/etc/rc3.d/s15nfs.server  start)。
mountall和umountall同时加载或卸载多个文件系统,缺省参照/etc/fstab
? /etc/hosts记录主机名和IP间映射,/etc/networks使文本名称与 IP网络号相关联,/etc/protocols记录文本名称与协议号间映射,/etc/ethers记录主机名和以太网地址间的映射,/etc/netgroup定义主机、用户和网络的集合。
? /etc/nsswitch.conf用来指定管理数据的来源,nisplus表示NIS+,file表示纯平板文件。
? HP_UX比Solaris多两个根目录:/sbin保存用于系统启动和mount其它文件系统的小程序,/stand用于保存Kernel和boot loader。HP_UX重要目录如下:
/usr    Sharable operating system commands, libraries, and documentation.
/sbin   Minimum commands needed to boot the system and mount other file systems
/var    Dynamic information such as logs and spooler files (previously in /usr)
/stand  Kernel and boot loader
/usr/bin   Operating system user commands
/usr/conf  Kernel configuration
/usr/contrib   Contributed software
/usr/lbin       Backends to other commands
/usr/local      User-contributed software
/usr/newconfig   Default operating system configuration data files
/usr/sbin       System administration commands
/usr/share      Architecture independent sharable files
/usr/share/man   Operating system manpages
/var/adm        Common administrative files and log files
/var/adm/crash   Kernel crash dumps
   HP_UX三个重要的环境变量:
PATH   commands
MANPATH   man pages
SHLIB_PATH  shared libraries
? HP_UX磁盘空间管理LVM——新增逻辑卷
一、 Creating Physical Volumes 
1) Initializing Disk
尽管硬盘出厂之前已经经过format和测试,但是作为物理卷安装之前仍然需要使用工具mediainit格式化磁盘,通过读写测试数据校验数据完整性。例如:
   # mediainit  /dev/rdsk/c0t4d0
2) Creating a Physical Volume Using pvcreate
如果需要磁盘作为System Disk,则必须使用-B选项Make a bootable disk
   # pvcreate  /dev/rdsk/c0t4d0
   #pvcreate  -B  /dev/rdsk/c0t4d0
3)pvdisplay
pvdisplay显示physical volume的信息,但前提条件是该磁盘完全集合到volume group中。结果中PV指physical volume,VG指volume group,PE指physical Extents,LV指logical colume。
二、 Creating Volume Groups
1) 为VG创建目录
按照VG命名规则创建目录,例如: mkdir  /dev/vg01
2) 创建VG控制文件group
在vg目录下,采用命令mknod创建控制文件group,该文件是字符设备文件,major number为64,minor number一般采用0xhh0000表示,其中hh为vg组号
  mknod  /dev/vg01/group  c  64  0x010000
3) 创建VG
采用命令vgcreate创建VG并指定它包含的physical volumes,例如:
  vgcreate  /dev/vg01  /dev/dsk/c0t4d0
4) 显示并校验VG信息
采用vgdisplay显示并校验VG信息,例如:vgdisplay  /dev/vg01
5) 将磁盘插入现存VG
采用vgextend命令将指定physical volume插入到现存VG,例如:
  vgextend  /dev/vg01  /dev/dsk/c0t3d0
磁盘/dev/dsk/c0t3d0必须采用pvcreate事先为LVM初始化完毕。
三、 Creating Logical Volumes
1) 除非特别设定,LVM extents一般4MB,取值范围为1M到256M。采用lvcreate命令创建logical volume,它负责为/dev/vgNN创建相应的block和character device file。可以通过选项参数设定extent size,也可以事后修改。例如:
  lvcreate  -l 10  /dev/vg01   (创建一个拥有10个logical extents的logical volume)
  lvcreate  -L 100 /dev/vg01   (创建一个100M的logical volume)
2) 显示LV信息
采用命令lvdisplay显示logical volume信息,例如:
  lvdisplay  /dev/vg00/lvol1
四、 Creating a New File System
1) 创建文件系统
  newfs  –F  fstype  char_device_filename
  -F选项指定文件系统类型:hfs或vxfs。如果未指定该选项,则根据/etc/default/fs
  char_device_filename代表对应logical volume的字符设备文件
举例说明:
newfs  –F vxfs  /dev/vg01/rlvol5
在/dev/vg01/rlvol5逻辑卷上创建新的JFS文件系统
newfs  -F hfs  -b 4096  -f 2048  -m 5  –i 4096  /dev/rdsk/c1t4d0
采用whole disk approach方式创建hfs文件系统,block大小为4K,frament大小为2K,预留5%的保留空间,每个inode的文件系统空间4K
newfs  -F vxfs  -R 96  /dev/rdsk/c1t4d0
采用whole disk approach方式创建JFS文件系统,96M will be used for swap the remaining space will be used for the new file system.
2) 创建目录并mount,文件系统只有mount之后才能被纳入目录层次并投入使用
  mkdir  mountpoint
  mount  -F fstype  block-device-file  mount-point-directory
五、 Extend a Volume Group
1) 为新磁盘上的LVM创建数据结构
  # pvcreate  /dev/rdsk/c1t3d0
2) 将准备添加磁盘空间的VG扩展
  # vgextend  /dev/vg01  /dev/dsk/c1t3d0
六、 Extend a File System
扩展logical volume采用lvextend命令,extendfs用于扩展指定文件系统,步骤如下:
1) umount  /dev/vg01/lvol3
2) 将logical volume扩充到400Mb, lvextend  –L 400  /dev/vg01/lvol3
3) 采用extendfs扩展文件系统尺寸,extentdfs  /dev/vg01/rlvol3
4) mount  /dev/vg01/lvol3
 On-Line JFS提供了另一种扩充文件系统的方法,无需mount,步骤如下:
1) bdf  /data         ————假设当前文件系统大小为60MB
2) lvextend  -L 80  /dev/vg01/lvol3       扩展LV大小到80MB
  采用vgdisplay  –v  /dev/vg_ora_p15 发现该vg中有“Free PE 198”,每个PE16M,则还有198*16=3168M尚未分配给lv,而lv_ora_p1524大小又不足,可以采用“lvextend -l 198 /dev/vg_ora_p15/lv_ora_p1524”扩展该lv。
3) 采用fsadm修改文件系统大小到80M   (既可以用于扩展也可用于缩减)   
   # fsadm  -b  81920  /data
4) bdf  /data         ————当前文件系统大小已经扩展为80MB
七、 Reducing the size of a File System
缩减logical volume采用lvreduce命令,步骤如下:
1) bdf  /data         ————假设当前文件系统大小为80MB,可用lvdisplay查
2) lvreduce  -L 60  /dev/vg01/lvol2     缩减LV大小到60MB
3) 重建文件系统
  newfs   /dev/vg01/rlvol2
4) mount  /dev/vg01/lvol2  /data
On-Line JFS提供了另一种缩减文件系统的方法,无需mount,步骤如下:
1) bdf  /data         ————假设当前文件系统大小为80MB
2) 采用fsadm修改文件系统大小到60M  (既可以用于扩展也可用于缩减)
   # fsadm  -b  61440  /data
3) bdf  /data     ————当前文件系统大小已经缩减为60MB
八、 Backup the LVM Configuration
    因为每个volume group配置都经常变换,有可能使用不同disk上的空间,所以为保证安全,所以备份LVM配置很重要。尽管vgextend等命令在更改LVM配置的同时也会自动备份LVM配置,但是最好采用vgcfgbackup定时人工备份,恢复采用vgcfgrestore。这两个工具只备份LVM配置,并不备份用户数据,如果还需要备份用户数据必须使用fbackup和frecover。
    /etc/lvmtab是LVM配置核心,所有LVM命令都读取该文件,该文件不能直接显示,是首次使用LVM命令时生成的。可以使用命令“strings  /etc/lvmtab”查看lv信息。Vgscan搜索LVM磁盘上信息,重建/etc/lvmtab文件。
    例如:vgcfgbackup  /dev/vgnn, 将VG配置信息保存到/etc/lvmconf/vgnames.conf
    vgcfgrestore –n /dev/vgnn  /dev/rdsk/c0t6d0
    vgchange  -a y  /dev/vgnn
    将LVM配置恢复到指定磁盘,并使该VG可用
? HP_UX:bdf类似df功能,用于监控文件系统的大小,选项-i用于显示inode信息。
? HP_UX:lvlnboot –v可用于检查本地硬盘到底由几块物理硬盘组成
? HP_UX中关于文件系统的一个例子,将/home转移到一个新文件系统上
newfs  -F  vxfs  /dev/vg01/rlvol2  (rlvol1是lvol2逻辑卷的字符设备文件)
mkdir  /home.new
mount  -F  vxfs  /dev/vg01/lvol2  /home.new  (lvol1是lvol2逻辑卷的块设备文件)
cd   /home
find  .  |  cpio  -pdumvl  /home.new
cd   /
rm  -rf  /home/*
umount  /home.new
mount   /dev/vg01/lvol2  /home
rmdir   /home.new
4. 设备及其驱动程序
? prtconf命令显示主机的一般性设置,包括主机类型、型号、内存量以及有关已配置硬件设备的信息。
Sysdef是prtconf的引申,Sysdef  -h替换SunOS中的hostid命令,显示主机ID。/usr/platform/sun4u/sbin/prtdiag(根据uname –a显示的sun型号决定子目录,例如sun4u)可以显示系统诊断信息,包括CPU个数和型号、内存量、Bus和I/O卡等。
Dmesg也可以显示设备名和内存(包括物理内存,可用内存的数量;可用内存等于物理内存减去系统内核占用的内存)等
HP_UX中使用SAM-Performance Monitor-System Properties可以查看CPU类型和内存使用情况、网卡地址等重要信息。
? 系统上所有设备的缩写名。如:在设备信息树中,sd0和sd1代表两个硬盘设备的缩写名。实例名与物理名的映像通过/etc/path_to_inst 文件得到,并可通过以下命令得到:
dmesg   sysdef   prtconf
? adb -k  查看/修改内核参数值
  例如:#adb -k 
         参数值/D   显示参数值(十进制)
         参数值/x    显示参数值(16进制)
         参数制/w xxx 修改参数值(立即生效,只对于可动态修改的参数)
? 设备文件是通过它们的“主设备号和次设备号”映射到设备的,这两个号存放在设备文件的索引节点中。主设备号标识与设备文件关联的驱动程序,次设备号标识所寻址的给定类型的特定设备。
? 在内核中,每个驱动程序的这些例程的地址放在一个称为跳转表的结构中,跳转表实际上有两个:一个用于字符设备,一个用于块设备。这两个跳转表是按主设备号索引的。在Solaris中,设备表保存在/usr/kernel/drv/*.conf中。
块设备采用系统buffer传输数据,这样可以加速I/O。一些存储设备采用块设备,例如磁带、软硬盘和各种磁设备。字符设备一次只传送一个字节,并不使用系统buffer,而是由应用程序控制buffer,例如终端、打印机、以及I/O存储裸设备。
? Solaris中差不多任何东西都是可加载的。Modinfo命令可以列出当前已加载的模块。增加驱动程序用add-drv,手工卸载驱动程序用rem_drv。
Solaris的硬盘设备名是SVR4型的,其块设备文件和字符设备文件分别放在目录/dev/dsk和/dev/rdsk中。注意,mount时必须使用设备号dsk,而做盘时则必须采用裸设备号rdsk(包括fsck修盘时也要rdsk)
例如:/dev/[r]dsk/cCtAd0sP  其中C是控制器号,A是SCSI目标号,P是分区号。分区2指整个硬盘。例如:
      /       on     /dev/dsk/c0t0d0s0 
      /usr    on      /dev/dsk/c0t0d0s3 
      /var    on      /dev/dsk/c0t0d0s4 
      /data1   on     /dev/dsk/c3t0d0s0 
      /export/home    on    /dev/dsk/c0t0d0s5 
      /opt    on      /dev/dsk/c0t1d0s0
      /data2   on     /dev/dsk/c2t0d0s0
   /usr、/var/以及/都是c0t0,只是s表示的分区不同,所以应该是主机第一个本地硬盘的不同分区。而/opt/是c0t1,是主机第二个本地硬盘。/data1和/data2分别是c3t0和c2t0,是外接硬盘。其中sP中P对应的分区编号可以从format命令的partition子命令显示得到。
   C:控制器号(或接口),如C0,C1,and C3,按每个接口卡自动按序指定。系统主板上的SCSI自动置为0,连接到该SCSI接口的硬盘,逻辑名以C0开始。C1控制器对应第二个SCSI。
   T:t0,t1,t3是设备的靶地址,它们与设备地址开关有关系,外接硬盘的尾部都有地址开关。内部硬盘一般予置为3,第二硬盘置为1。使用两个以上硬盘,靶地址号必须不同。通俗解释,假若一个控制器上可以接16个SCSI设备,那么t就取值0-15,表示在某个控制器上的设备编号。c
   D:任何嵌入式SCSI硬盘或IPI硬盘,硬盘名永远是d。LUN编号(Logic Unit Number)。所谓LUN就是多个物理硬盘中各自划分出一定区域后再合成一个逻辑盘,这样确保用户实际看到的一个盘分区是多个物理盘合成的,访问一个分区相当于访问多个物理盘,可以降低IO冲突。
   S:分区号从0-7,2代表整个硬盘。硬盘的设备名必须包含分区号,仅有控制器号/靶地址/硬盘名是不能使用硬盘的。
HP_UX:采用“lssf  device_file”可以详细显示设备文件的信息。
     “lsdev”可以罗列kernel包含的所有设备驱动的名字和class,以及设备主号;“ioscan”用于扫描所有外设,罗列kernel中包含的硬件路径,配合dmesg一起用于检查系统中配置了哪些硬件及其路径和状态。
    diskinfo  /dev/rdsk/c0t6d0 :查看指定硬盘基本信息
    ioscan -fnCdisk :查硬盘分区   -fnCtape 查磁带
make_recovery –Av : 备份vg00到小磁带
    HP_UX上,采用ioscan可以数出processor(CPU)数量,用dmesg可以统计出物理内存数量
    一旦XP512盘阵柜重启,必须采用“ioscan -fnCdisk”检查一下各台主机是否能看见盘阵,如果有显示,才可以启动cluster挂盘阵。
lvlnboot –v可以用来查询boot disk到底由几块本地盘构成,如果象NA1一样由两块构成,则诸如swap区就会同时挂接到两块物理盘上。
ioscan –fnCdisk 可以用来查询主机中到底插入了几块本地盘,例如本地盘是18G的,则通过ioscan –fnCdisk | grep 18 就可以发现,如果主机中插入两块本地盘,但其中一块未做盘,则通过ioscan会发现两块物理盘,但lvlnboot –v 只能发现一块。
? 以HP_UX为例,解释device file的用途:
/stand/vmunix(kernel)包含了运行于硬件之上的软件,而Device Files(/dev目录下)则包含了/stand/vmunix上运行软件的引用和存取设备的地址,因此UNIX命令和应用程序可以通过Device Files来访问外设。
HP_UX首次安装,insf命令用于为系统探测出的所有设备创建Device Files;以后每次系统重启,insf都为系统连接的新设备创建Device file。
? /dev/rdsk为原始设备接口,/dev/dsk为块设备接口。有些命令,如:fsck,newfs,prtvtoc必须使用原始设备接口,有些命令,如:df,mount必须使用块设备接口。
? 增加一个硬盘后,运行disks命令创建它的设备文件;Format命令用于往该硬盘上写卷标和分区信息;prtvtoc命令显示硬盘分区信息和卷标。此外,查一下这几条相关命令:drvconfig、devlinks、volcheck
? 在大多UNIX中,/dev/fd0与软驱A对应,/dev/had与系统中第一个物理的驱动器对应,/dev/mouse与鼠标对应,/dev/sda与系统中第一个SCSI驱动器对应,/dev/lp0与并行端口(通常是打印机)对应,/dev/tty与终端对应,/dev/ttyS0与第一个串行端口对应,/dev/zero是一个字节发送器,可以从中读取无穷多个0字节。
? 使CD-ROM共享,share –F nfs –o  ro  /cdrom/cdrom0;加载CD-ROM,mount –F file-system-type  -o ro  /dev/dsk/c0t6d0s2  /cdrom。
例如:在A主机(NFS Client)上通过网络共享B主机(NFS Server)上的光驱,首先在B主机/etc/dbs/dfstab文件中添加一行内容:/usr/sbin/share -F nfs /cdrom/oracle8i。 然后执行“/etc/init.d/nfs.server  start”启动NFS daemon和share命令。最后在A主机上调用mount –F nfs /cdrom/oracle8i /mnt
HP_UX中mount CDROM命令如下:
   mount  -F cdfs  -o  cdcase  /dev/dsk/c0t2d0  /cdrom
? 如果报“Device busy”,表示某个进程正使用该设备,采用fuser查找使用该设备的进程
? vold为卷管理的daemon,/etc/vold.conf配置文件用于vold确认要管理哪些设备。但卷管理不识别/etc/dfs/dfstab中内容。
? 卷管理自动为每个设备在/vol/dev目录中建立两个子目录:一个是为访问它的文件系统准备的,另一个是为访问它的裸设备准备的,例如diskette1和rdiskette1。
? quot命令用来获取硬盘的使用信息,它显示在每个文件系统上的总文件数和磁盘块数,例如quot –f /dev/sd4c。
-a:报告所有已安装的文件系统    -f:显示某用户的文件数和使用空间数 (kbytes)
而du用于汇总一个目录层次结构内的硬盘使用情况。“du  -sk  *”显示当前目录下各个子目录所占空间大小,“du  -sk”则显示当前目录所占空间大小
5. 备份
? Copy时采用“cp –rfp”,其中-p选项表示不仅copy文件本身,而且copy其各种文件属性,-f选项表示删除现存目标文件,-r选项表示recursive循环copy。
? tar cf – fromdir | (cd todir; tar xfp -)将在todir中创建一棵fromdir目录树的拷贝。如果tarfile是 -,tar命令从标准输入中(stdin)读,向标准输出(stdout)写。tar不支持多卷,而且许多版本都限制路径名在100个字符内。
? cpio 复制文件、特殊文件和需要多个磁带的filesystem,它是在ATT UNIX之间传送文件时归档文件的好办法,它和tar一样也不允许多卷;-o用于backup,-i用于restore
    复制目录中所有文件到磁带ls  |  cpio –oc > /dev/rmt/n
  列出磁带上的文件        cpio  -civt  <  /dev/rmt/n
 从磁带上获取所有文件    cpio  -icv  <  /dev/rmt/n
 “find fromdir –depth –print | cpio –pdm todir”将在todir中创建一棵目录树fromdir的拷贝
? dd是一个文件拷贝和转换程序,除非告诉它做某种转换,否则dd就从其输入文件直接拷贝到输出文件,它是唯一可以读出非UNIX系统写成的磁带的方法。dd  <  input_file  >  output_file或者dd  if=input_file  of=output_file
? 当采用磁带备份时,可以使用ufsdump和ufsrestore进行零级备份和增量备份,详见solaris.doc。
HP_UX中,常采用fbackup和frecover,方式类同于ufsdump和ufsrestore。
例如:
  1) fbackup  –f /dev/rmt/0m  –8  –u  –g /var/adm/fbackupfiles/graphfile
[-g graph]选项指明包含了需要included或者excluded的backup路径或文件,本命令执行第8级备份到/dev/rmt/0m中,graph文件采用/var/adm/fbackupfiles/graphfile
  2) fbackup  –f /dev/rmt/0m  -i . –e ./subdir
备份当前目录下除了subdir子目录之外的其它一切至/dev/rmt/0m中
  3) frecover  –rf  /dev/rmt/0m
    frecover  -x  -g  /var/adm/fbackupfiles/graphfile  -f /dev/rmt/0m
    frecover  -I  /tmp/index  -f  /dev/rmt/0m
? dump和restore是传统备份方法,dump首先构造一个自从上次备份以来修改过的所有文件的清单,然后把这些文件封装成单个大文件以归档到某个外部设备上。

附件1:磁带与磁盘的备份优缺点分析

磁盘和磁带备份方法的比较

随着磁盘备份和恢复技术变得越来越便宜,企业可以将磁盘的速度和功能与他们现有的磁带系统结合起来,以此获得优势。本文描述了磁盘和磁带备份方法,并比较了两者的优缺点。

  磁带备份系统的发展

  很多企业应用需要频繁地检索最近获得的数据。关键业务数据必须快速、高效地备份、保存和检索。多年以来,磁带以其经济高效的性能,一直是数据备份的标准介质。磁带作为传统的存储介质,可谓是根深蒂固,磁盘一时想要将其完全挤出市场,也是不太可能的事情。磁带将会继续在企业的备份、恢复和归档策略中扮演中枢角色。

  磁带

  随着磁盘驱动器的价格不断下调,基于磁盘的存储设备一夜之间如雨后春笋般冒了出来,有人说磁带的使用已走到末路。IDC 看到在2007年磁带驱动器的市场会继续有所扩大。400GB或更大容量的驱动器的出货量会有所增加,而且,LTO、SDLT驱动器的出货量也在持续增长。虽然用磁盘存储数据,每GB的价格下跌的幅度超过了磁带,但是整体而言,目前依然是使用磁带备份数据的成本要低。磁带与磁盘之间的距离仍然会存在,因为磁带生产商也在不断的降低磁带的成本并提高其性能。

  此外,磁带还具有体积小巧、容量大、成本低、寿命长和便携性等优点。而且,磁带备份技术诞生至今已经有50多年,经受了时间的考验,确实是一项非常成熟的技术,很多企业用户都已经习惯了使用这种存储介质,这也是它的优势之一。

  磁带的主要优势是价格和它可作为可拆卸介质的能力。相对便宜(与磁带驱动器本身相比)的磁带盒可以插入,填充数据,可以被其它磁带盒替代,这使得磁带驱动器可以写入数量无限的数据。但是,磁带盒在驱动器中进进出出将会带来昂贵的人为参与。磁带库自动完成这一机械过程。

  在第一代磁带库中,所有的设备(机器手和所有的磁带驱动器)都连接一个系统,通过这个系统将所有的数据写到需要传送的磁带驱动器中。在这个模式中,一个大型系统(备份服务器)负责处理通过网络数据包传送的备份数据的解包所带来的高负荷的I/O和CPU负载。

  随着备份模型的成熟,备份软件产品开始允许磁带库设备放置在一个连接到不同系统的库中。在常见的配置中,将自动更换器和一个或多个磁带驱动器连接到备份服务器,其它的一个或多个磁带驱动器连接到一个或多个其它的系统。这些系统( 数据库或是应用服务器 )都具有大量的必须要进行备份的数据。

  这些系统和备份服务器还为那些通过IP网络发送它们的数据的其它系统执行写备份磁带的动作。这一模型的主要限制是磁带驱动器都静态分配给系统。使用磁带驱动器来备份其它系统的数据需要通过IP网络来传输数据,这对发送方系统和接收方系统都带来相当大的负担。

  存储区域网络(SAN)允许多个主机系统访问相同的磁带和磁盘设备。多个主机系统可以写入到同一个磁带驱动器中。备份软件产品已经变得越来越复杂;备份服务器作为一个传输定向器,确保一次只有一个系统写入到一个磁带驱动器。磁带驱动器几乎可以根据需要从一个主机移动到另一个主机上,进行备份或恢复。

  基于磁带是备份的缺点主要集中在性能方面。磁带较低的搜索时间与媒体转移速度是磁带与磁盘比起来,在备份与存储方面要慢。不像磁盘,磁带介质必须被操控。磁带与磁盘之争,在现在看来,磁带依然还有很多很明显的优势,例如磁带的便携性以及磁带不会出现像磁盘一样的磁头损坏的问题。因此,磁带对于那些需要长期离线保存归档数据的用户来讲依然拥有很大的吸引力。并且在转移大量数据的时候,使用磁带的成本要低于使用因特网的成本。还有一个我们必须面对的事实就是,很多IT机构,尤其是那些大型公司的IT部门总是倾向于拒绝更换那些他们长期使用的产品。

  磁盘备份系统的特点介绍

  采用基于磁盘的备份战略,最强有力的理由之一是在备份与恢复的性能方面。磁盘可以直接的访问数据,因为不需要加载或倒带,也不需在磁带卷中搜索数据文件。对于常规的环境,数据被存储在磁盘,磁盘读写数据的速度明显比磁带快上许多,存储数据治理起来比较方便,备份窗口所需要的时间比较少。

  磁盘和磁带备份方法的比较

  虽然磁盘是备份有一些优点,但基于磁盘备份战略也有缺点。一些备份应用软件根据磁盘调节了他们的备份数据的结构,大多是将磁盘设备当成文件系统去进行备份,而文件系统注定无法避免磁盘碎片问题的干扰,将会导致备份和恢复性能的急剧下降。所以,采用磁盘备份必须定期整理磁盘文件系统。

  其次,一个低成本的磁盘阵列做备份时,它只能坚持容纳几个星期的备份数据。它无法容纳大量的数据作长期保留。实用性会迫使客户最终将备份设备清除至可移动的介质中。

  另外,从数据的安全性出发,来自病毒、黑客和自然灾难的安全威胁同样需要被考虑。文件系统很容易被攻击,而磁带的无文件系统格式,决定其天生具备免疫能力。

  磁盘阵列一般是用来存放生产数据的,如果将备份数据和生产数据都放置在同一台磁盘阵列中,那么必须考虑到单点故障问题。即为了应对发生一个站点、电源或是通讯基础设施的威胁,客户必须将实体的数据副本存储在远离基础站点的地方,在故障修理时可被使用,而这会增加磁盘式备份的成本。

  最后,对于存档需求来讲,磁盘的寿命要远比磁带介质的寿命短得多。闲置的磁盘可能在一或两年后开始丧失数据或是消磁,除非是每三十天上转一次。

  其他缺点还包括:

  磁盘备份没有统一的标准,只能与备份软件紧密地集成。

  磁盘备份在UNIX SAN环境下的LAN Free备份,如要把数据集中存放在统一卷下,需要共享卷软件来支持,会提高使用成本。

  备份软件程序在磁盘备份的实现方面并没有象磁带备份一样完善,这主要是因为磁盘存储的价格高。与磁带相比,磁盘的费用相对较高,这使得在大多数情况下磁盘都不经济。

但如果使用超级版的“阵列”吧硬盘虚拟成磁带,重复数据删除最高50:1,成本和磁带差不多了,稳定性也好得多。

附件2 UNIX的硬盘克隆方法

UNIX系统备份一直都是困扰我们大家的难题,

本文将逐步引导您在UNIX系统下对硬盘进行整体备份。为了进行安装或备份,需要建立系统映像。进行备份前,需要另准备一块相同或者更大的硬盘作为目标盘。这块盘要创建为新的启动盘,以便在引导失败时,用其替换先前的硬盘,启动系统并恢复到备份时的状态。尽管拆换系统硬盘并不是最理想的方法,但是这样做能够快速重新恢复系统。另外,在出现系统许可问题或者数据破损时,备份硬盘也是解决问题的妥善方案。

硬盘校验与准备

首先需要验证系统能够识别第二块硬盘,您需在/dev下查看目录列表。如图A。

Unix操作系统查询手册(1) - 设备机电调试工程师 - 中国免费电气技术资料

图A

在目前这一系统下(带有两块IDE硬盘的FreeBSD 6.1系统),第一块盘显示为ad0,第二块则为ad1。您可查看您的UNIX系统的文件确定磁盘在列表中的确切名称。在本文中,ad0 (位于第一IDE硬盘通道的主硬盘)为源硬盘,ad1 (第一IDE硬盘通道的从盘)为备份的目的盘。

通过检验证实系统能够识别目的盘以后,需要对硬盘进行正确分区和贴标。运行以下命令对磁盘进行初始化:

1.dd if=/dev/zero of=/dev/ad1 bs=1k count=1 这一语句会在磁盘上写入1024个0以确保磁盘洁净。

2.fdisk -BI ad1 这一命令将创建一个整个磁盘区域用以进行初始化。如果您希望在这块硬盘上采用与默认不同的启动工具,请查阅fdisk文档或者手动在这一硬 盘上安装不同的启动工具。

3.disklabel ad0s1 > /tmp/savedlabel 在临时文件上保存源盘的卷标。

4.disklabel -R -B ad1s1 /tmp/savedlabel 在新硬盘上写上原来的卷标。

5.newfs /dev/ad1s1a newfs /dev/ad1s1b newfs /dev/ad1s1d newfs /dev/ad1s1e newfs /dev/ad1s1f

我们在创建的每个分区上再创建新的文件系统,其中分区的数量是由FreeBSD系统默认规定的。您可以通过/dev查看目录列表以确保在硬盘ad1上所创建的每个分区都已经创建了文件系统。

6.mkdir -p /_bk mkdir -p /tmp_bk mkdir -p /usr_bk mkdir -p /var_bk

如上操作就给备份的新命名的文件系统创建了空间。当然,您的文件系统可能与此有所差别,可酌情而定。

7. vi /etc/fstab 这样可提取vi中的fstab文件进行编辑。我们对这个文件的编辑是为了使系统能在重新启动后可使用新的分区。如果您不喜欢使用vi, 也可以选用文本编辑器。初始的fstab文件如图B所示。

Unix操作系统查询手册(1) - 设备机电调试工程师 - 中国免费电气技术资料

图B

我们将在ad0盘上复制全部信息,这样ad1上的新区就能被加载、使用与原来分区一致(带有_bk扩展名的,第六步中命名一致)的名称。因此不用再对交换部分重复建立入口 (如Fstype卷所注明的)。

8.无需重新启动系统,我们对新文件系统进行检验并加载。按照我们对fstab改动后的目录和分区,执行如下命令:

  • mount /dev/ad1s1a /_bk
  • mount /dev/ad1s1e /tmp_bk
  • mount /dev/ad1s1f /usr_bk
  • mount /dev/ad1s1d /var_bk

    9.最后一步是进行备份:

  • cd /_bk && dump –L -0 -f - / | restore -r -f -
  • cd /tmp_bk && dump –L -0 -f - /tmp | restore -r -f -
  • cd /usr_bk && dump –L -0 -f - /usr | restore -r -f -
  • cd /var_bk && dump –L -0 -f - /var | restore -r -f –

    这一命令将对整个文件系统进行复制并立即改变其修复命令。如果备份的是实时文件系统,-L能够规定复制过程中尽可能的使用文件系统映像;如果所备份的不是实时文件系统,可以省略-L;如果无需立即生成备份硬盘映像,我们可以命令将复制输出成为一个文件,以便于新生成分区映像的使用。

    10.编辑/bk/etc/fstab 文件删除所有涉及另一硬盘的文件,以便于其像原始的fstab文件。如果你关闭这个复制硬盘,另一硬盘就会代替其位置,系统将不会这块“不存在”的磁盘上加载文件系统。或者,您也可以编辑备份硬盘(/_bk/etc/fstab)上的fstab文件,使其与原始盘完全一样,这样去掉原始盘后不用移动备份磁盘就可以正常启动。如果您使用这种方法,请确保ad1s1b作为替换分区。而具体采取哪种方法要完全根据你在硬盘发生故障时的切换方法来定。

    在这里,如果您打开/_bk, /usr_bk, /tmp_bk和/var_bk的目录列表,您将能看到列表与原始目录中完全一致。为了检验备份,关闭计算机,将设置相同的备份硬盘换下原来的硬盘并重新启动计算机。您的计算机应该能够重新启动并恢复到进行备份时的状态。

    总结:

    请注意,无论何种方法也不能说是尽善尽美的。由于对硬盘进行了完整的备份,系统会“认为”发生了非正常关机。备份硬盘尽管可以启动和使用,可最好还是用于全文件系统的近线(near line)备份,而不是用于立即恢复关闭的系统。 虽然也可有此用途,但被迫运行下的备份(特别是锁定文件,PID文件等方面)可能无法完整满足需求。您可运行crontab下定期运行脚本来保证进行最新的备份。此方法是经过时间检验的可靠方法,并且可以获得良好的技术支持和记录。

  •  

  • 附件3 LINIX分区映像备份与恢复

  •  Download the boot disk image and save this file in /tmp.

  • ·        Download the root disk image and save this file in /tmp.
  • ·        Insert a floppy disk (to be labeled Boot Disk) into the machine.
  • ·        Open a command prompt and type dd if=/tmp/partimage-x.y.z-bootdisk-w.raw of=/dev/fd0.
  • ·        Insert the root disk (to be labeled Root Disk).
  • ·        At the command prompt, type dd if=/tmp/partimage-x.y.z-rootdisk-w.raw of=/dev/fd0.
  • To use the above disks, first insert the disk labeled Boot Disk into the machine. Boot the machine and, when the message “VFS: Insert root floppy disk to be loaded into RAM disk and press ENTER” appears, insert the Root Disk floppy and press [Enter]. To complete this process, follow the on-screen instructions.

  • Takeaway: Learn how to use Partition Image to backup and restore partitions in Linux.

    If you haven’t already, it’s time to make Partition Image your new best friend. Why? Because Partition Image is an extremely helpful Linux utility that can restore entire disk partitions and save an entire Linux/Windows dual-boot installation.

    This Daily Drill Down explains the steps you’ll need to take to install Partition Image, create a backup of an entire disk partition, and restore the partition to its original condition.

    What you need

    The latest version of Partition Image is available from the Partition Image Web site. Partition Image may be downloaded in either source code or binary format. To build Partition Image from source, several libraries must be pre-installed on your system. To avoid any problems with these libraries, download one of the statically linked binary packages. For this article, the static binary package for Red Hat 7.2 (the latest compatible package available at the time of this writing) was installed and used on a system running Red Hat 7.3.

    To install the RPM package, use the rpm ivh partimage-static-0.6.1-1-rh72.i386.rpm command.

    File systems

    Partition Image is capable of backing up and restoring partitions using the following file systems:

    • ·        ReiserFS

      A new journalized and powerful file system

    • ·        ext2fs/ext3fs

      The Linux standard file systems

    • ·        FAT16/32

      DOS and Windows file systems

    • ·        NTFS

      Windows NT and 2000 File System (experimental support)

    • ·        JFS

      Journalized File System, from IBM, used on Aix (beta support)

    • ·        XFS

      Another journalized and efficient File System, from sgi, used on Irix (beta support)

    • ·        HPFS

      IBM OS/2 File System

    • ·        HFS

      Hierarchical File System: MacOS file systems (beta support)

    • ·        UFS

      UNIX File System (Berkeley Fast File System: FFS and Solaris File System are supported)

    Using Partition Image

    To start partition Image, run the /usr/sbin/partimage command as root and the screen shown in Figure A will appear.

    Figure A
    Unix操作系统查询手册(1) - 设备机电调试工程师 - 中国免费电气技术资料
    The opening screen in Partition Image

    Figure A illustrates the typical Partition Image screen, which is made up of selection areas, text areas, check boxes, radio buttons, and legends. Of course, I’m not talking about Web-based windows, but curses-based windows, so there is no pointing and clicking. To navigate around Partition Image, use the Tab key (to move from section to section), the space bar (to select a radio button or check box), the keyboard (to enter text), and the function keys (to save and exit).

    The first step in backing up a partition is to unmount the partition using the umount command. To unmount a /home directory mounted to /dev/hda8, run the umount /dev/hda8 command as root. Once the partition is unmounted, it can safely be backed up.


    Danger

    Don't attempt to back up a mounted partition. Doing so could cause irreparable drive damage or data loss.


    To back up a partition, the following steps are required:

    • ·        Select the partition to be backed up from the list of available partitions.
    • ·        Provide the name for the image file, such as /mnt/pc/homedir-backup.gz.
    • ·        Select the action to be taken. In this case, Save Partition To A New Image File.

    The partition selection section will list all partitions without the /dev directory, which is fine because /dev is implied. When naming the file, it would be wise to consider a date-stamp name. That way, it will be easier to archive your backups (or restore the latest version). Once the correct options are selected, press [F5] to go to the next screen, shown in Figure B.

    Figure B
    Unix操作系统查询手册(1) - 设备机电调试工程师 - 中国免费电气技术资料
    The most important option in this section is the compression level.

    This screen allows you to specify the type of compression you’ll use. The compression level determines both the size of the image file and the time spent creating that image. Higher compression creates a smaller file, but requires more time to perform the backup.In the example shown in Figure B, the Gzipped format  is used, providing a larger file size than the Bzip2 format, which will allow the back up to perform more quickly.

    Under the compression options, you can dictate how Partition Image is to act and then react during and after the process. On the left side, you can dictate that Partition Image is to check the partition before saving. This is a good idea because it's possible to create a backup of a bad partition. Another option is to add a description of the backup, which, again, would be a wise choice. By entering a description, you, or any administrator, will know exactly what the partition is.

    On the right-hand side of this section, you can instruct Partition Image on how to behave once the backup is complete. I typically instruct it to wait so there's no possibility of rebooting or shutting down (halting) if there are problems.

    The Image Split mode is used when you want to divide the image into several smaller files. This option is useful when the backup file created is stored on Zip disks or if the image file will be copied to a CD-ROM. For this example, the image file will be split into 700-MB pieces, which will be later copied to a CD.

    Once the desired compression options have been selected, press [F5] to go to the next screen. This window prompts you for a description of the image file. Provide any descriptive name you like; in this case, I’ve used a description of the original partition and the date. Press OK to go to the next screen, which is shown in Figure C. This screen provides information on the partition that is about to be backed up. Press OK to begin the backup process.

    Figure C
    Unix操作系统查询手册(1) - 设备机电调试工程师 - 中国免费电气技术资料
    The Partition information screen

    The final screen appears once the backup is completed. This screen shows the time it took to create the image, the data transfer rate during the process, and the amount of data copied. Press OK to exit Partition Image.

    Restoring a partition

    To restore a partition, run Partition Image. Once the first screen appears, provide the following information:

    • ·        The partition to be recovered.
    • ·        The image to be used for the recovery.
    • ·        In the Action To Be Taken window, select Restore Partition Image From An Image File.

    Figure Dshows the Action To Be Done window with the options selected to restore a partition.

    Figure D
    Unix操作系统查询手册(1) - 设备机电调试工程师 - 中国免费电气技术资料
    The options selected in this screen will restore a partition.

    One important aspect to note is that Partition Image must be run on the machine that is to be repaired/restored. If only specific partitions are being restored (other than /root or /boot), it's a simple matter of running Partition Image as described below. If the machine has been rendered unbootable (or the entire machine has to be restored to a previous image), then a Partition Image boot floppy must be made. To create a boot floppy, follow the steps shown in Listing A.

    In the Action To Be Taken window, look for the Image File To Create/Use entry. Here, you'll enter the complete path to the file to be restored. Note that in Figure D the image is located on the /mnt directory. This is because I'm pulling this file from an NFS server. This is not the only method of communicating to the backup server, but in the case of Linux to Linux, it is the best.


    More on NFS

    For information on configuring and using NFS, check out Bryan Pfaffenberger’s “Working with NFS.”


    Once the correct options are selected, press [F5] to go to the next screen, which will present several options for the restore operation. The restoration may be simulated or actually performed

    The list of options shown in Figure E allows you to select the action to be taken once the restoration is finished. For this example, the Wait option is selected. The next two screens will confirm the type of operation performed, and the successful completion of the restore process.

    Figure E
    Unix操作系统查询手册(1) - 设备机电调试工程师 - 中国免费电气技术资料
    If the Erase Free Blocks With Zero Values Option is enabled, all blocks that aren't used are erased with zero bytes.

    Using Partition Image across a network

    Partition Image allows image files to be stored on servers and restored across a network. Network support allows several options not available on stand-alone systems:

    • ·        SSL encryption is provided for security.
    • ·        The image may be used for several computers.
    • ·        Storing the image on a server may provide better security for the image file.
    • ·        Computers with only one partition generally do not have enough disk space to save an image file.

    Configuring the server

    The server can essentially be any machine used to store image files. No partitions are actually saved or restored on this machine. (They are just stored for use by the various clients/servers on the network.)Use the following procedure to configure an image file server:

    • ·        Add the user partimage to the server. The server will run under UID partimage.
    • ·        Add the names of users allowed to use the server to the /usr/etc/partimaged/partimagedusers file.
    • ·        Change the permissions of the /usr/etc/partimaged/partimagedusers file to 600.

    To add the user vince to the /usr/etc/partimaged/partimagedusers file and change the permissions of the file to 600 at the same time, use the command shown in Listing B.

    All users added to the partimagedusers file must already exist on the system and must have a valid password entry in /etc/passwd.

    To activate the server, run the /usr/sbin/partimaged command.

    One of the more important server options that you’ll need to set is which port will be used with Partition Image. The default port is 4025. To change the port, use the -p option with the partimaged command (shown above). To change the port to 4020, use the /usr/sbin/partimaged -p 4020 command.Make sure any users know when the default port is changed; otherwise, they won’t be able to reach the server.

    The partimaged server should be run from the same directory where image files are stored. This directory will then become the current directory when the client specifies no path.

    Once the steps are completed, the partimage server is ready for up to 10 simultaneous connections from clients.

    Don’t be a victim of Murphy

    Having a copy of disk partitions should be a default procedure for any Linux administrator. Without backups of partitions, Murphy’s Law will inevitably kick in and every piece of data on your server will be lost. Why take the chance when you can install such an easy-to-use tool and safeguard your livelihood?

    附件 4  用ghost2003的local-disk-from image模式克隆unix

    不需要设cmos,不需用n1,n2分区,就可完美克隆unix硬盘

    1.准备一个硬盘大于8个G(现在肯定超过8个G),用windows格式化好[fat,ntfs分区都可以]用于存放克隆的*.gho文件,准备一张win98启动盘,必须带goot2003和diskGenius(到处可以买到),自己做ghost2003启动软盘也可以,不过要把diskmanGenius(137k)考入.
    2.unix源盘挂在id0的mast上,存储数据的硬盘挂在除了光驱占用的id通道任意2个id上,如果用软区就是任意3个id上.
    3.启动进入dos后和克隆windows xp一样对unix进行克隆,制作gho文件存在硬盘待用(local-partition-to image)
    4.将unix源盘换成你想恢复的硬盘,必须比unix源盘大,(现在就没有小于8个g的)
    注意了,下面的很重要:用diskgenius(以前叫diskman)将新硬盘分成8个g的unix分区,并激活后退出,启动ghost2003,一定选local-disk-from image,不要选local-partition-from image,几分钟后一个一样的unix系统就出来了.
      说白了,和克windows xp一样,就是恢复的时候要选local-disk-from image.

    注意:1 一定用ghost2003,其他的不认unix分区,
            2  一定要将分区激活.

     附件 5   ghost软件能把unix到unix进行克隆。
    具体方法如下: 
    一. 目标和原盘相同大小。 
    1. 首先进入CMOS把两个硬盘设置成normal方式。 
    2. 用软盘启动,运行ghost软件,选择disk to disk克隆方法。 
    二. 目标比原盘大。 
    1. 首先进入CMOS把两个硬盘设置成normal方式。 
    2. 用scounix的n1和n2盘把目标盘进行分区,分区大小必须和原盘相同。分区完后用del键中断。 
    3. 用软盘启动,运行ghost软件,选择分区到分区的克隆方法。 
    三.目标比原盘小不能进行克隆 
    本人用这种方法能进行unix的克隆,但有一个缺陷就是如果目标盘比原盘大,即使选择 
    disk to disk方法进行克隆,不过进入克隆好的硬盘用df ?v查看硬盘使用情况,会发现只能使用原盘的大小, 
    如500M克隆到3G,用3G启动,即使显示整个分区是unix但使用情况和剩余情况和500M是相同的。希望大家留意。

    克隆的时候不用把目标盘分区,新的硬盘拿过来也能克。一起只要目标盘不小于源盘就能克了,不过有时候源盘会不知道什么原因而克到一定时候的时候报错,但源盘系统运行一切正常,不知道各位是否有碰到这样的情况。

    附件 6  关于ghost克隆sco unix克隆后网卡无法工作的问题

    sco unix 5.04,经常需要用ghost克隆系统,但发现用ghost克隆后经常出现网卡删除有问题的现象,好像删不干净一样,出现/usr/lib/netconfig/remove/sco_tcp:test:unknown operator  ***.***.***.***(*为原ip)等或者其他问题,如果再增加网卡链接核心启动时就会出现network is down,就算想用一下ping命令也是显示这一句,网络启动不起来,这主要是目标盘上的原IP信息没有彻底册除,可以检查/etc/hosts文件,你会发现里面保留了多个以前的本地ip在那里,还有就是/etc/tcp里旧的本地ip,路由定义都在(可能因为在网卡删除的过程中有出错没有执行下去的缘故),将以上“牛皮廯”删除后再来删除网卡就没有problem出现了。

    解决办法如下:首先,删除网卡时如果提示出现了unknown operator ***.***.***.***(*为原ip)这个problem之后,在netconfig下旧的网卡已经看不见了,想把新的网卡装上去也不行,在链接核心时会出错,要先找到/etc/strcf这个文件把里边boot_net0(或boot_net1)的运行语句和定义部分删掉(先备份哦),在把/etc/hosts和 /etc/tcp下的旧ip定义都删掉,然后才在netconfig把新网卡给装上这样才正常。

     附件7 介绍几种UNIX备份方法

      一、 SGI的IRIX6.5系统克隆方法 

    1.以超级用户的身份注册。 

    2.执行命令prtvtoc(不带参数),显示系统源盘分区表信息。  

    3.显示出要克隆的目标盘的分区表信息。 
     
    4.比较系统源盘与目标克隆盘的分区表,如不相同,调用fx命令对克隆盘重新进行分区,使之与系统盘具有相同的分区结构。注意: 磁盘容量要大于等于系统盘。 

    5.由于系统磁盘的卷头包含许多有关设备参数、分区表、fx版本数的文件以及一些标准程序(如sash就是系统引导时处理器的指定程序),所以需要调用dvhtool将系统盘的sash文件写进克隆磁盘,以保证与系统盘相同。 
     
    6.在目标克隆盘上调用mkfs命令建立文件系统。 
     
    7.在系统盘上用mkdir命令建立临时安装点。 
    # mkdir /clone 

    8.安装克隆盘的root分区到临时安装点,调用命令xfsdump/dump进行文件系统复制。 
     
    9.安装克隆盘的usr分区到临时安装点,使用上述方法进行复制。 
     
    10.卸掉安装在/clone目录上的的文件系统,并删除clone目录。 
    # cd ..
    # umount /clone
    # rmdir /clone 

        至此,一个与系统盘一模一样的克隆系统盘就完成了,此法比重新安装一遍所花费时间要少得多。这样,在系统遭到破坏时,用户就可以很快使用备用系统了。 

        二、SUN Solaris 2.6系统的克隆方法 

    1.确保系统源盘与目标盘的几何特性相同。
     
    2.进入超级管理员用户。 

    3.在使用主盘的系统中输入"touch /reconfigure"命令,有主盘的系统需要有/reconfigure文件,以便在重新启动时发现目标盘。 
    # touch /reconfigure 

    4.输入命令init 0关闭系统。 
    # init 0 

    5.将克隆盘连接到系统并开机。 
    OK> boot 

    6.用dd命令将主盘复制到克隆盘。 
     
    7.调用fsck命令检查新的文件系统。 
    #fsck /dev/rdsk/device-name 

    8.建立目录/clone,并安装克隆盘的root文件系统。 
    #mkdir /clone
    #mount /dev/dsk/device-name /clone 

    9.编辑克隆盘上的/etc/vfstab文件,使之指向正确的设备名。 

    10.卸载克隆盘的root文件系统,并关闭系统。 
    #umount /clone
    #init 0 

    11.以单用户方式引导克隆盘。 
    OK> boot diskN -s 

    12.输入sys-uconfig命令恢复配置复制盘,配置恢复后关闭系统。 

    13.输入命令boot diskN引导克隆系统盘。 

    14.提供主机名、时区、IP地址等相关信息。 

    15.系统启动完成,以超级用户身份检验各种信息。
     
        这样,在源系统出现问题时,就可以轻松启动备份系统,确保应用的顺利进行了。

      评论这张
     
    阅读(559)| 评论(0)
    推荐 转载

    历史上的今天

    在LOFTER的更多文章

    评论

    <#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    页脚

    网易公司版权所有 ©1997-2017