从头开始linux-centos

时间:2023-03-09 09:22:12
从头开始linux-centos

测试环境,下面二者之一
CentOS-6.5-x86_64-minimal.iso
CentOS-7-x86_64-Minimal-1511.iso

第一步系统检测与优化,即初始化工作,
常规型的

rpm -qa|wc -l
ip addr
ping qq.com
cat  /var/log/boot.log

以下是c65的关闭ipv6与防火墙
CentOS-6.5-x86_64-minimal.iso
sed -i '$a\alias net-pf-10 off \nalias ipv6 off' /etc/modprobe.d/dist.conf
grep 'ipv6' /etc/modprobe.d/dist.conf
chkconfig --level 2345 ip6tables off
chkconfig --level 2345 iptables off
chkconfig --list|grep iptables
service iptables stop
service ip6tables stop

最小化安装是没有防火墙服务的
CentOS-7-x86_64-Minimal-1511.iso
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@localhost grub2]# vi /etc/default/grub
将GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
改为GRUB_CMDLINE_LINUX="ipv6.disable=1 rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
即加上ipv6.disable=1,再重新生成grub.cfg,再重启系统就可以了
[root@localhost grub2]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-1ace541fd97c40e6a45fd1f7062adae8
Found initrd image: /boot/initramfs-0-rescue-1ace541fd97c40e6a45fd1f7062adae8.img
done

cp /etc/selinux/config ./
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
diff config /etc/selinux/config
setenforce 0

下面是c65中要设置的,c72可能不需要下面了。
sed -i 's/tty\[1-6\]/tty\[1-2\]/g' /etc/init/start-ttys.conf
sed -i 's/tty\[1-6\]/tty\[1-2\]/g' /etc/sysconfig/init
reboot

第二步具体某项应用与功能,
任务型的

1.安装lxc,cs6.5环境下
yum install epel-release
yum install lxc
lxc-checkconfig            //一开始检测,某些项是missing状态的
rpm -ql lxc|more
rpm -ql lxc-libs|more
yum install libcgroup    //无依赖
yum install lxc-templates

service cgconfig start
service lxc start
启动之后,在/cgroup目录下产生了很多目录与文件

安装lxc,cs7.2环境下

yum install epel-release
yum install lxc lxc-templates bridge-utils
lxc-checkconfig
lxc-create -n testA -t fedora

以下是手工设置,永久生效
cp /etc/sysconfig/network-scripts/ifcfg-eno1  /etc/sysconfig/network-scripts/ifcfg-br0
vi /etc/sysconfig/network-scripts/ifcfg-eno1
vi /etc/sysconfig/network-scripts/ifcfg-br0
以下是临时生效,通过工具修改
yum install bridge-utils
brctl addbr br0
brctl addif br0 eno1
ip addr del 192.168.10.101/24 dev eno1
ip addr add 192.168.10.101/24 dev br0
ip link set br0 up
reboot

vi /var/lib/lxc/testA/config
修改virbr0为br0
lxc-start -n testA -d
lxc-console -n testA -t 3

2.扫描网段,并登入某台linux机器,查看硬件与系统配置

yum install --disablerepo=epel nmap或者直接下面的
yum install nmap

nmap 192.168.10.0/24
ssh 192.168.10.45
lscpu
cat /proc/cpuinfo
yum install pciutils
lspci

3.抓包
yum install tcpdump

4.cobbler

5.kvm  cs7.2环境下

安装gnome桌面后
systemctl disable NetworkManager

systemctl disable firewalld
vi /etc/selinux/config
reboot

yum install virt-manager

只需要安装上面这一个包就可以了,然后在打开virt-manager,在连接细节里》网络接口下添加桥网络就可以了,然后创建虚拟机,不需要在命令行下修改ifcfg-eth0,ifcfg-br0,还有brctl都不需要做。

[root@kvm1 img]# vi /etc/sysconfig/network-scripts/ifcfg-eno1
TYPE=Ethernet
DEVICE=eno1
ONBOOT=yes
BRIDGE=br0

[root@kvm1 img]# vi /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.10.101
PREFIX=24
GATEWAY=192.168.10.6
DNS1=8.8.8.8

systemctl restart network
sed -i 's/virbr0/br0/g' /etc/qemu-kvm/bridge.conf
mkdir iso,disk
cd disk;qemu-img create -f qcow2 ub.qcow2 10G
/usr/libexec/qemu-kvm  -boot order=dc -hda disk/ub.qcow2 -cdrom iso/edubuntu-14.04.4-dvd-amd64.iso -m 1024 -smp 2 -net bridge -net nic -spice port=9987,password=12345

然后通过windows机器上的spice客户端连上去进行安装步骤。

/usr/libexec/qemu-kvm  -boot order=dc -hda disk/ub.qcow2 -m 1024 -smp 1 -net bridge -net nic -display vnc=:1,passwd='12345'
这是用vnc的方式去连接管理,好像不需要passwd这个参数,直接vnc就可以连上去。

/usr/libexec/qemu-kvm  -boot order=dc -hda disk/cs72-mysql.qcow2 -cdrom iso/CentOS-7-x86_64-Minimal-1511.iso -m 4096 -smp 2 -net bridge -net nic -vnc :1
/usr/libexec/qemu-kvm  -boot order=dc -hda disk/cs72-mysql.qcow2  -m 4096 -smp 2 -net bridge -net nic -vnc :1

6.mysql主-从备份

主-主备份,首先AB机要保持数据一致,即先手工备份A机数据,然后在B机上恢复,之后就很简单了,只需要在B机上创建一个同步账号,并在A机上输入B机的那些参数然后启动slave start就实现了主-主双机热备。

主-从复制如下:
A:192.168.10.119:master
B:192.168.10.118:slave
参数说明:
需要同步的库名,多个用逗号隔开。
binlog-do-db=world,city
不需要同步的库名
binlog-ignore-db=mysql

MYSQL_A作为主机,MYSQL_B作为从机。在MYSQL_A和MYSQL_B上分别创建好需要同步的数据库

在A机上操作
vi /etc/my.cnf在mysqld中加入下面
server-id=1
log-bin=mas
binlog-do-db=world
binlog-ignore-db=mysql

service mysqld restart

同步账号
GRANT REPLICATION SLAVE ON *.* TO 'syn'@'192.168.10.118' IDENTIFIED BY '123456';
先导入数据
mysql < world.sql
再锁表
FLUSH TABLES WITH READ LOCK;
再导出数据
mysqldump -uroot -p world >world1.sql

mysql> show master status;
+------------+----------+--------------+------------------+
| File       | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------+----------+--------------+------------------+
| mas.000002 |      260 | world        | mysql            |
+------------+----------+--------------+------------------+
1 row in set (0.00 sec)
这里的文件名与位置要在slave中输入。

再释放锁
unlock tables;

在B机上操作
server-id=2
log-bin=sla
binlog-do-db=world
binlog-ignore-db=mysql

service mysqld restart
先将A机上备份的数据world1.sql导入进来,还原数据,保证二者之间的数据一致。

设置主服务器的参数
mysql> change master to
    -> MASTER_HOST='192.168.10.119',
    -> MASTER_USER='syn',
    -> MASTER_PASSWORD='123456',
    -> MASTER_CONNECT_RETRY=60,
    -> MASTER_LOG_FILE='mas.000002',
    -> MASTER_LOG_POS=260;
Query OK, 0 rows affected (0.19 sec)

slave start;
show slave status\G;

下面是做测试,在A机上删除数据,
mysql> delete from City where id<10;
Query OK, 6 rows affected (0.07 sec)
mysql> show master status;

在B机上查看,很快就同步过来了。
msyql> show slave status\G;