ITPub博客

首页 > IT职业 > IT生活 > 2011.3.19(ULE)

2011.3.19(ULE)

原创 IT生活 作者:sgy618 时间:2011-03-28 20:24:35 0 删除 编辑

2011.3.19(ULE)

[@more@]

ext3
data block 内容 ls/cat
inode block 属性 ls -l
super block dumpe2fs

删除文件时,将对应关系删掉,但data block是不删掉的
1.分区fdisk /dev/sda,然后刷新分区表,partprobe同步
2.制作文件系统,mkfs.ext3
3.挂载mount
4.vim /etc/fstab 两种方式:设备名和卷标

定义卷标:e2label /dev/sda1 "/1"
e2label /dev/sda5 "sda5"
mount -L sda5 /mnt

cat /proc/mounts 显示挂载的信息,和mount显示的内容一样,即mount的内容是从/proc中取得的

为防止中毒,u盘最好在挂载时,用noexec选项方式挂载以免某些病毒执行,破坏系统

dumpe2fs /dev/sda5 | grep sda5 实际卷标的名字会显示在超级块中

/etc/fstab 中一般根分区中的系统检查位和备份位是非零的

mount -a是读/etc/fstab中的所有行(但不会起到自动卸载的功能,将没有挂载的设备挂上)
——————————————————————————————————————————————————————————————————————————————————————
创建交换分区:
1.从硬盘空闲分区格式化成swap
2.dd生成指定大小的文件,将该文件用作swap。
swapon -S (优先级,数值越小,优先级越高)
cat /proc/swaps
mkswap /dev/sda6 格式化
swapon /dev/sda6 将这个分区激活
mkswap -L "SWAP2" /dev/sda6 -L指定卷标
swapoff /dev/sda6 将该分区停用

dd是从物理介质层去拷贝,cat是从应用层的

[root@localhost ~]# dd if=/dev/sda of=file bs=512 count=1

用文件作内存
[root@localhost ~]# dd if=/dev/zero of=/swapfile bs=1000M count=2
/dev/zero是零发生器,可以不断向外取东西,bs=blocks
mkswap /swapfile
swapon /swapfile

od /file 查看纯数据文件
——————————————————————————————————————————————————————————————————————————
自动挂载(autofs):
1.vim /etc/auto.master(autofs主配置文件)
/mnt /etc/auto.mnt
标记所处的路径 新建文件
2.cp /etc/auto.misc /etc/auto.mnt
abc -fstype=iso9660 :/dev/cdrom
设备文件的路径
3.service autofs restart
启动服务
ps aux | grep automount
——————————————————————————————————————————————————————————————————————————

RAID 多磁盘技术
raid 0:带区卷
raid 1:镜像卷
(上网再查查补充一下)

RAID主要针对应冗余,备份针对软件
1.避免硬件问题,导致数据丢失
2.提高读写效率
3.一定程度扩容

rpm -q mdadm 保证系统有该软件包,多磁盘管理
配置完后,md0 md1 ... mdn 有n个RAID就有多少个md

支持分区
1.一个硬盘上多个大小一样的分区
2.多个硬盘上大小一样的分区

不可以一个硬盘多个大小不一样的分区,没有意义

一般用整个磁盘比较多
用脚本实现(fdisk.sh):
#! /bin/bash
fdisk /dev/sda << EOF #打开一个临时缓冲区
n


+3000M
n


+3000M
n


+3000M
n


+3000M
w
EOF
partprobe /dev/sda


mdadm命令
-C 指定创建设备
-l 指定RAID的级别
-n 分区或硬盘个数
-S 停md
--stop
-A 启动md
--add 添加备份盘
-x1 表示第一个备用设备

新分的分区不需要格式化,因为要整合到一个整体的RAID设备中

mdadm -C /dev/md0 -l 5 -n 4 /dev/sda{7..10}
fdisk -l 查看md0的大小
mkfs.ext3 /dev/md0 格式化

mount -t ext3 /dev/md0 /net
df -Th /net

接下来模拟一个分区故障,需有一个备份分区/dev/sda11

新开一个终端用watch来监控
mdadm /dev/md0 -f /dev/sda8 模拟故障
mdadm /dev/md0 -r /dev/sda8 移除分区
mdadm /dev/md0 -a /dev/sda8 添加新分区

监控分区恢复过程
watch -n 1 cat /proc/mdstat
watch -n 1 mdadm -D /dev/md0

mdadm -C /dev/md0 -l 5 -n 4 /dev/sda{7..10} -x1 /dev/sda11
mdadm -A /dev/md0 /dev/sda{7..11} 启动md0,包括备份分区
mdamd /dev/md0 --add /dev/sda11 添加备份盘
————————————————————————————————————————————————————————————————————————————
LVM逻辑卷管理,在线扩容,不可卸载分区,可将分区扩大
PV物理卷
LV逻辑卷
(PV1 PV2 PV3) -> VG -> (LV1 LV2)
如果VG有空间就可为LV扩容,如果VG没有足够空间,添加PV

实验:
在当前系统划分3个分区,分别做成PV,然后加入一个卷组,再卷组划分出LV,然后对LV制成文件系统,挂在使用。再实验LV的在线扩容和VG的扩容
pvcreate /dev/sda{7,8,9}
pvdisplay
vgcreate vg1 /dev/sda{7..9}
vgdisplay
lvcreate -n lv1 -L 5G vg1 -n指定名字, -L指定大小
mkfs.ext3 /dev/vg1/lv1
mount -t ext3 /dev/vg1/lv1 /mnt
df -h /mnt
ls -l /dev/vg1/lv1 是符号链接
扩容:
vgdisplay 查看是否有空间
lvextend -L +3.4G /dev/vg1/lv1
df -Th /mnt 发现没有变化
resize2fs /dev/vg1/lv1 扩容
df -Th /mnt
lvdisplay
此时vg已无空闲空间,要对lv扩容先对vg扩容,创建pv,加vg,再括lv
pvcreate /dev/sda11
vgextend vg1 /dev/sda11
vgdisplay
lvextend -L 2.8G /dev/vg1/lv1
resize2fs /dev/vg1/lv1

lvm的软件包lvm2
lvreduce 减容

激活:
lvchange -an /dev/vg1/lv1 若逻辑卷多,可通过激活卷组,可直接激活lv。 -a:active y:激活 n:未激活
lvdisplay查看激活状态
有时利用lvdisplay,vgdisplay,pvdisplay查不到lv,vg,pv状态,这时需要相应扫描命令
lvscan vgscan pvscan
删除所有配置(lvremove -> vgremove -> pvremove)
lvremove /dev/mapper/vg1-lv1 必须保证在未挂载状态

作业:
1.4个分区-》RAID5 其中一个作备份,最终模拟故障并rebuid
2.4分区-》LVM
(1).3个->pv->vg->lv
(2).vg有空间->lv
(3).vg无空间pv->vg->lv
(4).扫描pv vg lv激活 删除
3.将md用作pv,来解决pv出问题时,RAID->LVM,底层冗余,上层扩容
一般添加分区不需要重启系统,如果删除分区最好重启系统。
重启机器会发现之前做的md0 md1没有被激活

lv是自动激活的原因
(1)./etc/rc.sysinit
(2).grep vgchange /etc/rc.sysinit

若希望RAID重启生效需要写设备文件
(1).mdadm.conf
cp /usr/share/doc/mdadm-2.6.9/mdadm.conf-example /etc/mdadm.conf
内容:
DEVICE /dev/sda5 ...............
ARRAY /dev/md0 uuid=.....................(mdadm -D /dev/md0 中得到)
(2).fstab
/dev/mapper/vg1-lv1 /net ext3 defaults 0 0

grep mdadm /etc/rc.sysinit
mdadm -A -s /dev/md0 (-s 自动从mdadm.conf中读配置文件,所以不用指定具体分区)

grep -n vgchange /etc/rc.sysinit
发现RAID的初始化代码比vg先激活

逻辑卷vg没有配置文件
——————————————————————————————————————————————————————————————————————————
磁盘配额(quota)

1.声明做磁盘配额
mount -o remount,usrquota,grpquota /lvmdir
若希望永久生效写入fstab
default,usrquota,grpquota
保证quota软件包安装

2.写配置文件
quotacheck 先检查一下
quotacheck -cug /lvmdir 如果对系统分区,比如根分区需quotacheck -cugm /
-a :扫瞄所有在 /etc/mtab 里头已经 mount 的具有 quota 支持的磁盘
-u :扫瞄使用者的档案与目录
-v :显示扫瞄过程
-g :扫瞄群组使用的档案与目录
-m :强制进行 quotacheck
发现多出两个文件aquota.group和aquota.user,一个是针对组配额配置文件,另一个是针对用户配额

3.编辑
file aquota.user 发现时数据文件,需edquota或setquota来编辑
编辑前查看哪些用户可做配额
repquota /lvmdir
发现:
Block limit 容量,块限制 这里一个块=1k
File limits/Inode limits 个数,文件数量
Block:(1)soft 软限制:警告 (2)hard 硬限制,禁止,强制
关系: 用户已使用 < 软限制大小 < 硬限制大小
第一种编辑方法:
(1)edquota -u user1
blocks soft hard
40 1800000 2000000 软限是1.8G,硬限2G
(2)repquota /lvmdir
edquota -p user1 user2 将user1复制到user2
第二种编辑方法:
setquota -u user2 1900000 2000000 0 0 /lvmdir
这种方法适合写脚本
setquota -h

4.quotaon /lvmdir 激活,才能用
repquota -g /lvmdir 查看哪些组可做配额,不加参数或加-u,查用户

注:一旦超越软限,会倒计时7天,并且可通过repquota查看用户或组前有"+"表明计时开始
——————————————————————————————————————————————————————————————————————————
开机启动过程
1.开机加电->自检(检查有什么设备),1:读BIOS中设置信息,启动顺序 光盘-》网络-》U盘-》硬盘 2:检查硬件,外设,以便内核驱动
2.bootloader GRUB(安装位置 1:MBR 2:boot分区)
3.加载内核
4.驱动 starting --- ok
5.登录

硬盘前63个扇区不属于任何操作系统,bootsector首扇区,包括512字节,其中前446个字节为MBR 主引导记录 中间64个字节是PT(分区表) 后2个字节是校验,一般为0x55aa,磁盘用于标识

如果GRUB装在MBR,直接引导,若装到boot分区,则在分区表中找活动分区(df命令执行后带“*”的分区)

anaconda 安装器读取/boot/grub/grub.conf中的信息,
title ********** //可通过uname -r查看到
default为0表示默认执行第一个title,为1表示默认第二个title
timeout=5表示有5秒的等待
splashimage=(hd0.0)/grub/******************* 定义图片

(hd0.0)是有grub自己解释,表示第一块硬盘的第一块分区,注意它不是由内核来解释的,尽管使用sd硬盘,也是由hd开头
(hd0.6)表示第一块盘的第7个分区

grub.conf下
hiddenmenu隐藏菜单(按ESC显示)
title后名字可改,下面的root,kernel,initrd是grub的解释命令

kernel /vm************ rhgb quiet
“/”下没有该文件,是由上面的root(hd0.0)定义,所以在/boot目录下,rhgb quiet表示以图形的方式,有一些警告会不显示
initrd后面的版本必须和kernel后的一致
跟新内核引导只不过使心脏(核心变)更强劲,但是应用没有变化

initrd的作用(1)检查设备驱动(2)将控制权交给init进程 ps -aux | grep init
which init
/sbin/init

initrd首先要驱动硬盘盒文件系统完后,才能去磁盘中找驱动,如果驱动没有在内核,就没有initrd执行的必要了
initrd /**************.img ro root=LABEL=/
这个img文件里面有磁盘和文件系统的驱动,ro表示只读,root:指定根分区已卷标形式

上述东西启动完后就交给了/etc/inittab
如果忘了密码进入的是单用户模式
id:5:initdefault:
id为标识,5为运行级别(该字段如果没写,2~5所有的优先级),initdefault表示默认优先级,该字段表示以什么方式工作,运行后面的脚本
在当前环境,只运行优先级为5的行(因为默认为5)

21:sysinit -> /etc/rc.d/rc.sysinit (mdadm -> lvm -> fstab)

l3:3:wait:/etc/rc.d/rc 5
表示将5作为参数,会去/etc/rc5.d/下执行
sysinit -> /rc5.d/****
S*的文件是start
K*的文件是stop
后面的数字是优先级,执行顺序,以S开头,数值越小,优先级越大,以K开头,数值越小,优先级越小


chkconfig 将S开头和K开头的服务相互转换的命令
以S和K开头的文件都是符号链接到/etc/init.d/目录下的相应服务

ca::ctrlaltdel:/sbin/shutdown -t 3 -r now 表示3秒后重启

wait表示执行的过程中是按照一个S*文件一个S*文件的顺序执行
respawn表示父进程监控一旦程序退出,会立即重新执行一次,例如在文本模式下注销

/etc/X11/prefdm -> /etc/sysconfig/i18n -> /etc/sysconfig/desktop

执行顺序
(1)/etc/grub/grub.conf
(2)/etc/inittab default 5
^1 /etc/rc.d/rc.sysinit
^^1 /etc/rc.d/rc 5
^^^1/etc/rc5.d/S* start K* stop
^2 /sbin/mingetty tty1 - tty6
^3 /etc/X11/profdm(仅在5级别下运行)
^^1 /etc/sysconfig/i18n
^^^1 /etc/sysconfig/desktop
(3)登录,分为文本模式(/bin/login)和图形模式(分为gnome(/usr/sbin/gdm)和KDE(/usr/bin/kdm))
(4)经过验证程序,比如PAM可插入式验证模块(公共,谁都可以用,门,有钥匙就可以进)
(5)启动shell,/etc/bashrc /etc/profile 和用户家目录的.bashrc和.profile

作业:
在欢迎界面按e进入编辑
grub> root(hd0.0)
grub> kernel ***************** init=/bin/bash 仅启动bash
grub> initrd
grub> boot

grub加密
在grub.conf里面
password=123456 给grub加密码
title**********
password=123 下面也可以加密码,防止启动内核

也可以使用md5加密的方式设置密码
grub-md5-crypt
password --md5 后加所设置的密码

linux rescue 关盘启动进入救援模式
chroot /mnt/sysimage 切换根目录
grub-install /dev/sda

grub配置文件模板/usr/share/doc/grub-0.97/menu.lst
应先写配置文件再安装grub,顺序相反有可能不识别

查一下grub有三种安装方法

导出分区表
dd if=/dev/sda of=/bootsector-file bs=512 count=1
file /bootsector-file
hexdump /bootsector-file 以16进制查看,最后2个字节是55aa,上查16*4字节有80,表示活动分区

chkconfig --list
chkconfig --level 35 sshd off/on 数字表示哪个运行级别
chkconfig --list sshd

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23168012/viewspace-1047872/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: RedHat配置IP
下一篇: Lv的缩减
请登录后发表评论 登录
全部评论

注册时间:2010-01-12

  • 博文量
    104
  • 访问量
    396309