centos lvs centos哪个版本建站好
大家好,centos lvs相信很多的网友都不是很明白,包括centos哪个版本建站好也是一样,不过没有关系,接下来就来为大家分享关于centos lvs和centos哪个版本建站好的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
lvs fullnat 必须编译内核么
fullnat开源已经有一阵子了,内核版本为2.6.32-220.23.1.e16,项目地址。本屌编译测试环境如下:
centos6.3 64位
编译过程参照官方做法,只是融入后续的打rpm包的部分。过程如下:
一、下载相关代码:
下载 kernel-2.6.32-220.23.1.el6.src.rpmlinux-2.6.32-220.23.1.el6.x86_64.lvs.src.tar.gz
lvs-fullnat-synproxy.tar.gz
二、编译内核
1、安装kernel-2.6.32-220.23.1.el6.src.rpm
1
rpm-ivh kernel-2.6.32-220.23.1.el6.src.rpm
2、生成内核源码
默认的,你会在root家目录下看到rpmbuild目
1
2
cd~/rpmbuild/SPECS
rpmbuild-bp kernel.spec
3、对生成的内核源码打patch默认的
1
2
3
4
5
6
7
8
9
10
#在/usr/local/src下解压linux-2.6.32-220.23.1.el6.x86_64.lvs.src.tar.gz
tar zxf linux-2.6.32-220.23.1.el6.x86_64.lvs.src.tar.gz
#打patch
cd~/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/
cp/usr/local/src/linux-2.6.32-220.23.1.el6.x86_64.lvs/lvs-2.6.32-220.23.1.el6.patch.
#淘宝将IP_VS改成了22,测试时遇到些麻烦,因此改为20了。
#vim.config
CONFIG_IP_VS_TAB_BITS=20
#你可以修改Makefile把内核的名称做下标记(line:4)
EXTRAVERSION=.FNAT.shanks.e27.x86_64
4、make
1
2
3
make-j16
make modules_install
make install;
5、配置grub.conf
1
2
#vim/boot/grub/grub.conf
default=0
三、reboot
reboot之后uname-r看下是不是你想要的内核。
四、打内核rpm包
1、安装kernel-2.6.32-220.23.1.el6.src.rpm
1
rpm-ivh/usr/local/src/kernel-2.6.32-220.23.1.el6.src.rpm
2、生成内核源码目录
1
rpmbuild-bp~/rpmbuild/SPECS/kernel.spec
3、复制出一份内核源码目录
1
2
cd~/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/
cp-a linux-2.6.32-220.23.1.el6.x86_64/ linux-2.6.32-220.23.1.el6.x86_64_new
4、为内核打fullnat的patch
1
2
3
cd linux-2.6.32-220.23.1.el6.x86_64_new/
patch-p1</usr/local/src/lvs-2.6.32-220.23.1.el6.patch
cp.config~/rpmbuild/SOURCES/config-x86_64-generic
5、删除原来内核源码目录中的.config文件。
1
2
cd~/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64
rm-rf.config
不删的话,会在最后打rpm时遇到报错
wKioL1NM8jWhm-LPAAK42XDh8KU043.jpg
6、打自己的patch
1
2
cd~/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/
diff-uNr linux-2.6.32-220.23.1.el6.x86_64 linux-2.6.32-220.23.1.el6.x86_64_new/>../../SOURCES/lvs-2.6.32-220.23.1.el6.patch
7、编辑kernel.spec
1
2
3
4
5
6
7
8
9
vim~/rpmbuild/SPECS/kernel.spec
line:9打上个版本号
%define dist.e27
line:22打上个名称的标记
%define distro_build fnat.shanks
line:605标记下自己的patch
Patch999999: lvs-2.6.32-220.23.1.el6.patch
line:915让自己的patch生效
ApplyOptionalPatch lvs-2.6.32-220.23.1.el6.patch
8、打rpm
1
rpmbuild-bb--with baseonly--with firmware--without debuginfo--target=x86_64 SPECS/kernel.spec
1
2
3
4
5
6
7
8
9
10
11
12
在这里如果遇到这样的报错:
+ cp/root/rpmbuild/SOURCES/Module.kabi_x86_64/root/rpmbuild/BUILDROOT/kernel-2.6.32-fnat.shanks.e27.x86_64/Module.kabi
+/root/rpmbuild/SOURCES/check-kabi-k/root/rpmbuild/BUILDROOT/kernel-2.6.32-fnat.shanks.e27.x86_64/Module.kabi-s Module.symvers
*** ERROR- ABI BREAKAGE WAS DETECTED***
The following symbols have been changed(this will cause an ABI breakage):
register_ip_vs_scheduler
unregister_ip_vs_scheduler
+ exit 1
error: Bad exit status from/var/tmp/rpm-tmp.0Wfj33(%build)
RPM build errors:
Bad exit status from/var/tmp/rpm-tmp.0Wfj33(%build)
可以在rpmbuild的时候加上--without kabichk
参考:
红帽linux,centos7 添加磁盘到/(根目录下),扩展VG卷和lv
为了在红帽Linux的CentOS7系统中扩展根目录(/)下的磁盘,添加新磁盘并扩展VG(Volume Group)和LV(Logical Volume),请遵循以下步骤。
首先,使用fdisk命令创建新的分区。在终端输入:
fdisk/dev/sdb
在新打开的窗口中,按照提示操作添加新的分区。选择“n”新建分区,“p”设置为主分区,输入分区编号“1”,并选择默认大小,最后输入“w”保存并退出。
接着,将新分区加入VG中,以此扩充VG的大小。使用vgextend命令执行如下操作:
[tr][/tr][/table] [root@localhost~]# vgextend centos/dev/sdb1
这条命令将VG名称“centos”与磁盘的位置“/dev/sdb1”进行连接,成功扩展VG。
查看VG状态,确认扩展操作成功:
[root@localhost~]# vgs
通过lvs命令进一步检查LV的状态,虽然VG已扩展,但LV仍需调整大小:
[root@localhost~]# lvs
使用lvextend命令扩展LV的大小,具体命令如下:
[root@localhost~]# lvextend-L+20G/dev/mapper/centos-root
这将LV的大小从17.47GB增加至37.47GB。执行完命令后,使用df-h查看文件系统容量变化,若未见更新,需执行xfs_growfs命令重新读取大小:
[root@localhost~]# xfs_growfs/dev/mapper/centos-root
执行后使用df-h再次检查,确认文件系统大小已调整。
至此,根目录下的磁盘容量已成功扩展。
注意:在自定义创建VG组及在新VG中生成LV时,使用vgcreate命令创建VG,使用lvcreate命令在新VG中创建LV(需指定VG名称)。执行vgreduce将PV从VG中移除,若VG中只有一个PV,则直接使用vgremove。
CentOS挂载lvm分区重名问题的解决方法
今天一个朋友的服务器硬盘出现问题,换了新硬盘安装好系统后,挂载老硬盘时出现了问题,在linux下使用新硬盘安装系统,安装好以后再挂载原来的硬盘,分区格式全为系统默认分区,系统默认使用的
是lvm格式,并且默认的卷都是 VolGroup00,好了,知道问题的原因就好办了,下面我们来解决这个问题
使用 pvs查看显示如下:
复制代码代码如下:
[root@localhost~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 VolGroup00 lvm2 a- 372.50G 0
/dev/sdb2 VolGroup00 lvm2 a- 136.62G 0
发现可以正确认别到两个VG,但是同名,如何挂载呢?
解决办法是,将原来的VG更名,解决冲突即可挂载。
重命名格式为:vgrename VolGroup00 VolGroup01
此时会提示:
复制代码代码如下:
[root@localhost~]# vgrename VolGroup00 VolGroup01
Found more than one VG called VolGroup00. Please supply VG uuid.
原因是存在两个 VolGroup00,修改的方法他已经提示了要指定 VG uuid即可。
查看VG uuid的命令为:
复制代码代码如下:
[root@localhost~]# vgs-v
Finding all volume groups
Finding volume group"VolGroup00"
Finding volume group"VolGroup00"
VG Attr Ext#PV#LV#SN VSize VFree VG UUID
VolGroup00 wz--n- 32.00M 120372.50G 0 dcHa6G-abU2-Xfq8-EPBm-jBLj-sf18-O5uH0U
VolGroup00 wz--n- 32.00M 120136.62G 0 OF8g7h-PQJB-9D9z-yPxn-1kfY-Advq-YbNHJ9
查到VG uuid以后,再次执行改名:
复制代码代码如下:
[root@localhost~]# vgrename OF8g7h-PQJB-9D9z-yPxn-1kfY-Advq-YbNHJ9 VolGroup01
Volume group"VolGroup00" still has active LVs
修改成功以后,再执行:lvscan
复制代码代码如下:
[root@localhost~]# lvscan
inactive'/dev/VolGroup01/LogVol00' [130.84 GB] inherit
inactive'/dev/VolGroup01/LogVol01' [1.94 GB] inherit
ACTIVE'/dev/VolGroup00/LogVol00' [367.09 GB] inherit
ACTIVE'/dev/VolGroup00/LogVol01' [5.41 GB] inherit
可以看到新修改的VolGroup01是inactive状态。
再使用vgchange加载 VolGroup01
复制代码代码如下:
[root@localhost~]# vgchange-ay/dev/VolGroup01
2 logical volume(s) in volume group"VolGroup01" now active
再执行:lvscan复制代码代码如下:
[root@localhost~]# lvscan
ACTIVE'/dev/VolGroup01/LogVol00' [134.69 GB] inherit
ACTIVE'/dev/VolGroup01/LogVol01' [1.94 GB] inherit
ACTIVE'/dev/VolGroup00/LogVol00' [367.09 GB] inherit
ACTIVE'/dev/VolGroup00/LogVol01' [5.41 GB] inherit
可以发现VolGroup01已经是ACTIVE状态了。
最后 mount就可以
复制代码代码如下:
[root@localhost~]# mount/dev/VolGroup01/LogVol00/data/www
至此,全部完成。