如何在debian中安装和使用lvm2

本文在VMware的虚拟机中测试通过,为了做这个实验,需要新增加一块硬盘,接着就可以利用该硬盘来安装和使用lvm。

一、准备物理硬盘和分区

  1. # cfdisk /dev/sdb
  2. 将该硬盘做成extended分区,并write分区表
  3. 使用fdisk -l就可以看到该硬盘了。

二、安装并配置lvm

1、安装lvm2

# aptitude install lvm2

2、初始化物理卷

# pvcreate /dev/sdb5

3、创建卷组

# vgcreate volgrp /dev/sdb5

4、激活卷组

# vgscan

5、创建逻辑卷

# lvcreate -n software --size 500M volgrp

6、格式化并mount该逻辑卷

# mkfs.ext3 /dev/volgrp/software
# mkdir /home/software
# mount -t ext3 /dev/volgrp/software /home/software

7、查看逻辑卷

# lvdisplay

8、改变逻辑卷的大小

# umount /home/software
# lvextended -L+500M /dev/volgrp/software

改变之后,在lvdisplay可以看到大小已经改变,但是实际的文件系统还是500M,所以还需要做以下的操作

9、改变物理卷大小

# e2fsck -f /dev/volgrp/software
# resize2fs /dev/volgrp/software

10、重新mount该逻辑卷

# mount -t ext3 /dev/volgrp/software /home/software
# df -h

使用df -h就可以看到该分区的大小了。

11、去除逻辑卷

# lvremove /dev/volgrp/software

NOTE 先umount该逻辑卷

如何从sarge升级到etch

这两天做sarge到etch的升级,参考了官方的release note,
结合自己的实践写下本文,以便日后查询之用。

Debian官方建议使用aptitude来管理包,所以下面的操作均
以aptitude为例,需要说明的是一旦用了aptitude,就不要
再混用apt-get。

本文假定用户没有安装X windows系统,毕竟Debian更适合于
做服务器,桌面还是用Ubuntu吧。

1. 备份

将系统中重要的系统文件做备份,一般是配置文件、数据库等

# tar -cvf /home/backup/etc.bak /etc/*

2. 准备升级环境

升级的过程中会重启一些服务,所以千万不要通过telnet、
ssh远程连接方式进行升级,最好在本机的终端窗口下操作
(不要在X windows),或者通过modem的serial口远程登录。
(这跟telnet、ssh的远程连接有所区别,cisco等网络设备
经常会用到这种方式)

3. 检查系统软件包状态

系统中如果有软件包处于hold状态,则在升级过程中可能
失败,最好手工将他们设为unhold

# aptitude search "~ahold" | grep "^.h"
# aptitude unhold pkg_name

如果sarge系统中使用了非官方的软件包,例如backports,
最好先将他们全部卸载,否则升级过程中会引起冲突。
{: class=“warning” }

4. 更改source.list

# vi /etc/apt/source.list
--------8<----------
# deb http://debian.cn99.com/debian sarge main contrib non-free
deb http://debian.cn99.com/debian etch main contrib non-free
# deb-src http://debian.cn99.com/debian sarge main contrib non-free
deb-src http://debian.cn99.com/debian etch main contrib non-free
--------8<----------

中国一般用cn99源,速度比较快,只需要将sarge改为etch就可以了。

5. 更新软件包列表

# aptitude update

6. 确认具有足够的硬盘空间

在升级的过程中需要占用一些临时的磁盘空间,所以要确认是否还有足够的剩余空间

# aptitude -y -s -f --with-recommends dist-upgrade
     [ ... ]
     XXX upgraded, XXX newly installed, XXX to remove and XXX not upgraded.
     Need to get xx.xMB/yyyMB of archives. After unpacking AAAMB will be used.
     Would download/install/remove packages.

如果不能满足请删除一些文件,例如aptitude clean或者删除/var/log

7. 升级

sarge和etch之间有不少软件包是有冲突的,直接使用
aptitude dist-upgrade会卸载掉sarge系统里的软件包,而有些软件包是
你想保留的,为了尽量避免这种情况发生,需要做阶段性升级,分三个步骤:

7.1 最小化升级:

# aptitude upgrade

这样就只是更新的软件而不会删除其他东西。

# aptitude install initrd-tools

这将会自动升级libc6和locale,这个时候会重启某些服务。

7.2 升级内核

在做下一步操作之前强烈建议手工升级内核,Etch引进的udev技术已经无法支持比2.6.15旧的内核,而Debian Etch的软件仓库中的内核版本则是2.6.18。我们安装它就可以了。

先确认一下你目前的内核版本

# uname -r
# aptitude search linux-image-2.6*
# aptitude install linux-image-2.6-686

这样就可以安装2.6.18的内核了。

7.3 全面升级

# aptitude dist-upgrade

这将会对sarge进行完全的更新,时间大约半个小时,比我预料中要快很多。

8. 更新软件包的签名信息

Etch的软件包关系系统引入了签名功能,简言之,没有经过Debian官方
签署的软件包无法在etch系统上安装,你当然也可以通过更改
/etc/apt/来取消这个限制。

# aptitude update

至此,您的操作系统就更新完毕了,整个过程不需要重启,这对服务器而言无疑是非常贴心的一项设计。

如何在debian中添加永久静态路由

可以在/etc/network/interfaces中添加静态路由,关机后不会消失。

iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
broadcast 192.168.0.255
up ip add x.x.x.0/24 via 192.168.0.254 dev eth0
up ip add y.y.y.0/24 via <gw> dev eth0

192.168.0.254是网关。