2019-06-11-Linux服务配置03
目录
1. 使用Squid部署代理缓存服务 1.1 Squid 替代用户向网站服务器请求页面数据并进行缓存,当用户再次再请求相同数据,则可以将存储服务器本地数据交付给用户,减少了用户等待时间,支持HTTP、FTP、SSL等多种协议 1.2 Squid分为正向代理 与 反向代理:
正向代理: 用户(局域网)-> Squid-> 网站资源,以及基于ACL功能对用户访问网站进行限制,具体分为标准代理模式 与 透明代理模式。
标准模式: 把网站数据缓存到本地服务器上,提高数据资源再次访问时的效率,但用户必须填写代理服务器IP与端口;
透明模式: 不需要填写代理IP和端口号,是由DHCP服务器将网络配置信息分配给客户端主机;
反向代理:让多节点主机反向缓存网站数据 服务器机房(多节点主机->Squid服务器->Internet->公网用户)
1.4 测试设备:
Squid服务器(内网卡:仅主机模式192.168.37.10,外网卡:桥接模式DHCP )
Windows客户端主机(网卡:仅主机模式192.168.37.20 )
1.5 文件配置 1 2 3 4 5 6 7 8 9 10 11 12 13 [root@xy ~]# vim /etc/squid/squid.conf http_port 312 cache_mem 64M cache_dir ufs /var/spool/squid 2000 16 256 cache_effective_user squid cache_effective_group squid dns_nameservers [IP] cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log visible_hostname xy.com [root@xy ~]# systemctl restart squid [root@xy ~]# systemctl enable squid ln -s '/usr/lib/systemd/system/squid.service' '/etc/systemd/system/multi-user.target.wants/squid.service'
1.6 标准正向代理(IP: 192.168.37.10:3128) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [root@xy ~]# semanage port -l | grep squid_port_t squid_port_t tcp 3128, 3401, 4827 squid_port_t udp 3401, 4827 [root@xy ~]# semanage port -a -t squid_port_t -p tcp 10000 squid_port_t tcp 10000, 3128, 3401, 4827 squid_port_t udp 3401, 4827 [root@xy ~]# vim /etc/squid/squid.conf acl client src = 192.168.37.20 http_access allow client http_access deny all [root@xy ~]# vim /etc/squid/squid.conf acl deny_keyword url_regex -i linux http_access deny deny_keyword [root@xy ~]# vim /etc/squid/squid.conf acl deny_url url_regex https://www.baidu.com http_access deny deny_url [root@xy ~]# vim /etc/squid/squid.conf acl badfile urlpath_regex -i \.rar$ \.avi$ http_access deny badfile
1.7 透明模式
没有配置DHCP服务的话,设置客户端地址192.168.10.20
1 [root@xy ~]# iptables -F
实现DNS地址解析服务53端口的数据转发功能(SNAT), -o 匹配外网网卡流出的流量
1 2 3 4 5 6 7 8 9 [root@xy ~]# iptables -t nat -A POSTROUTING -p udp --dport 53 -o eno33554968 -j MASQUERAD [root@xy ~]# echo "net.ipv4.ip_forwrad=1" >> /etc/sysctl.conf [root@xy ~]# sysctl -p [root@xy ~]# net.ipv4.ip_forward = 1 [root@xy ~]# vim /etc/squid/squid.conf http_port 3128 transparent cache_dir ufs /var/spool/squid 100 16 256 [root@xy ~]# squid -k parse [root@xy ~]# squid -z
SNAT 设置对网站80端口请求转发至Squid服务器本地3128端口
1 2 [root@xy ~]# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 [root@xy ~]# iptables -t nat -A POSTROUTING -s 192.168.37.0/24 -o eno33554968 -j SNAT --to 桥接网卡IP
1.8 反向代理模式 1 2 3 [root@xy ~]# vim /etc/squid/squid.conf http_port 桥接网卡 IP:80 vhost cahe_peer 网站服务器 IP parent 80 0 originserver
2. 使用iSCSI(Internet Small Computer System Interface)
IDE(成熟稳定, 价格便宜并行传输接口)
SATA(传输速度更快, 数据校验更完整串行传输接口)
SCSI(计算机和硬盘, 光驱等设备间系统级接口通用标准; 系统资源占用率低, 转速快, 传输速度快)
基于TCP/IP协议和SCSI接口协议的iSCSI是将SCSI接口与以太网技术结合的新型存储技术,可以来在网络中传输SCSI接口命令和数据;
需要网卡传输, iSCSI-HBA网卡, 该网卡连接SCSI接口或者FC(光纤通道)总线和内存, 用于主机之间交换存储数据;
2.1 配置iSCSI服务端 2.1.2 创建RAID 5磁盘阵列: 1 2 [root@xy ~]# mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde [root@xy ~]# mdadm -D /dev/md0
2.1.3 安装iSCSI服务端(192.168.37.1): 1 2 3 4 [root@xy ~]# yum -y install targetd targetcli [root@xy ~]# systemctl restart targetd [root@xy ~]# systemctl enable targetd ln -s '/usr/lib/systemd/system/targetd.service' '/etc/systemd/system/multi-user.target.wants/targetd.service'
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 [root@xy ~]# targetcli Warning: Could not load preferences file /root/.targetcli/prefs.bin. targetcli shell version 2.1.fb34 Copyright 2011-2013 by Datera, Inc and others. For help on commands, type 'help' . +++++++++++++++++++++++++++加入md0阵列到共享设备资源池++++++++++++++++++++++++++++ /> ls o- / ..................................................................... [...] o- backstores .......................................................... [...] | o- block .............................................. [Storage Objects: 0] | o- fileio ............................................. [Storage Objects: 0] | o- pscsi .............................................. [Storage Objects: 0] | o- ramdisk ............................................ [Storage Objects: 0] o- iscsi ........................................................ [Targets: 0] o- loopback ..................................................... [Targets: 0] /> cd /backstores/block /backstores/block> create disk0 /dev/md0 Create block storage object disk0 using /dev/md0. /backstores/block> cd /> ls o- / ..................................................................... [...] o- backstores .......................................................... [...] o-disk0 ........................ [/dev/md0 (40.0GiB write-thru deactivated)] | o- block .............................................. [Storage Objects: 0] | o- fileio ............................................. [Storage Objects: 0] | o- pscsi .............................................. [Storage Objects: 0] | o- ramdisk ............................................ [Storage Objects: 0] o- iscsi ........................................................ [Targets: 0] o- loopback ..................................................... [Targets: 0] +++++++++++++++++++++++创建iSCSI target名称及配置共享资源+++++++++++++++++++++++++ /> cd iscsi /iscsi> create Created target iqn.2003-01.org.linux-iscsi.xy.x8664:sn.ca5dd98d2e7d. Created TPG 1. /iscsi> cd iqn.2003-01.org.linux-iscsi.xy.x8664:sn.ca5dd98d2e7d/ /iscsi/iqn.20....ca5dd98d2e7d> ls o- iqn.2003-01.org.linux-iscsi.xy.x8664:sn.ca5dd98d2e7d .............. [TPGs: 1] o- tpg1 ............................................... [no-gen-acls, no-auth] o- acls .......................................................... [ACLs: 0] o- luns .......................................................... [LUNs: 0] o- portals .................................................... [Portals: 0] /iscsi/iqn.20....ca5dd98d2e7d> cd tpg1/luns /iscsi/iqn.20...e7d/tpg1/luns> create /backstores/block/disk0 Create LUN 0. ++++++++++++++++++++++++++++++设置访问控制列表++++++++++++++++++++++++++++++++++ /iscsi/iqn.20...e7d/tpg1/luns> cd .. /iscsi/iqn.20...e7d/tpg1/luns> cd acls /iscsi/iqn.20...d98d2e7d/tpg1> create iqn.2003-01.org.linux-iscsi.xy.x8664:sn.ca5dd98d2e7d:client** Create Node ACL for iqn.2003-01.org.linux-iscsi.xy.x8664:sn.ca5dd98d2e7d:client Create LUN 0. ++++++++++++++++++++++++++++设置服务的监听IP及端口++++++++++++++++++++++++++++++++ /iscsi/iqn.20...e7d/tpg1/luns> cd .. /iscsi/iqn.20...d98d2e7d/tpg1> cd portals /iscsi/iqn.20.../tpg1/portals> create 192.168.37.10 Using default IP port 3260 Created network portal 192.168.37.10:3260. +++++++++++++++++++++++++++++检测配置信息++++++++++++++++++++++++++++++++++++++++ /iscsi/iqn.20.../tpg1/portals> ls o- / ..................................................................... [...] o- backstores .......................................................... [...] | o- block .............................................. [Storage Objects: 0] | | o-disk0 ...................... [/dev/md0 (40.0GiB write-thru deactivated)] | o- fileio ............................................. [Storage Objects: 0] | o- pscsi .............................................. [Storage Objects: 0] | o- ramdisk ............................................ [Storage Objects: 0] o- iscsi ........................................................ [Targets: 1] | o- iqn.2003-01.org.linux-iscsi.xy.x8664:sn.ca5dd98d2e7d .......... [TPGs: 1] | o- tpg1 ........................................... [no-gen-acls, no-auth] | o- acls ...................................................... [ACLs: 0] | | o- iqn.2003-01.org.linux-iscsi.xy.x8664:sn.ca5dd98d2e7d:client...... [Mapped LUNs: 1] | | o- mapped_lun0 ............................... [lun0 block/disk0 (rw)] o- luns .................................. [LUNs: 1] | o -lun0 ............................ [block/disk0 (dev/md0)] | o- portals ........................... [Portals: 1] | o- 192.168.37.10:3260 .............. [OK] o- loopback ................................ [Targets: 0] /> exit Global pref auto_save_on_exit=true Last 10 configs saved in /etc/target/backup. Configuration saved to /etc/target/saveconfig.json ++++++++++++++++++++++++++++++++++++++结束++++++++++++++++++++++++++++++++++++++ [root@xy ~]# firewall-cmd --permanent --add-port=3260/tcp success [root@xy ~]# firewall-cmd --reload success
2.1.4 配置Linux iSCSI客户端 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [root@xy ~]# yum install iscsi-initiator-utils [root@xy ~]# vim /etc/iscsi/initiatorname.iscsi Initiatorname=iqn.2003-01.org.linux-iscsi.xy.x8664:sn.ca5dd98d2e7d:clien [root@xy ~]# iscsi -m discovery -t st -p 192.168.37.10 192.168.37.10:3260,1 iqn.2003-01.org.linux-iscsi.xy.x8664:sn.ca5dd98d2e7d [root@xy ~]# iscsiadm -m mode -T iqn.2003-01.org.linux-iscsi.xy.x8664:sn.ca5dd98d2e7d -p 192.168.37.10 --login [root@xy ~]# file /dev/sdb /dev/sdb: block specile [root@xy ~]# mkfs.xfs /dev/sdb [root@xy ~]# mkdir /iscsi [root@xy ~]# mount /dev/sdb /iscsi [root@xy ~]# blkid | grep /dev/sdb /dev/sdb: UUID="b6b6d578-3ba5-450b-b967-d1a81a71d600" TYPE="xfs" [root@xy ~]# /etc/fstab UUID="b6b6d578-3ba5-450b-b967-d1a81a71d600 /iscsi xfs defaults,_netdev 0 0 [root@xy ~]# iscsiadm -u # 卸载网络设备
2.1.5 配置Windows iSCSI客户端
系统安全->管理工具->iSCSI发起程序->目标填写iSCSI服务端IP->快速连接->配置->更改->填写服务端ACL所定义的名称
3. 使用MariaDB数据库管理系统 1 2 3 4 [root@xy ~]# yum -y install mariadb mariadb-server [root@xy ~]# systemctl restart mariadb [root@xy ~]# systemctl enable mariadb ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service'
3.1 数据库初始化
命令
作用
eg.
set
设置密码
set password=password(‘123456’);
show
展示数据库, 表, 权限
show databases;
—
—
show tables;
—
—
show grants for anyue@localhost;
use
指定使用数据库
use anyue;
grant
授予权限
grant 权限 on 库名.表名 to 用户名@主机名;
revoke
移除权限
revoke 权限 on 库名.表名 from 用户名@主机名;
create
创建数据库, 用户, 表单
create database anyue;
—
—
create user anyue@localhost identified by ‘123456’;
—
—
create table mybook (name char(15),price int,pages int);
insert
增(增加表单数据)
insert into mybook(name,price,pages) values(‘ES’,’60’,’10’);
update
改(改动表单数据)
update 表单 set attr=新值 where attr=初值;
—
—
update mybook set price=55;
delete
删(删除表单数据)
delete form 表单名 where atrr=值;
select
查(表单数据)
select user,host,password from user where=’anyue’;
—
—
select * from mybook where price>75;
—
—
select name,price from mybook;
describe
描述表单(desc)
desc mybook;
drop
删数据库,表,用户
drop anyue;
alter
修改表描述
alter table 表单名
—
—
alter table mybook add(字段名1 字段类型1,…);
—
—
a lter table mybook modify 字段名1 字段类型1;
—
—
alter table mybook drop 字段名;
—
—
alter table mybook 原表名 rename to 新表名;
mysqldump
备份数据库
mysqldump -uroot -p anyue >/root/anyue.dump
—
还原数据库
mysql -uroot -p anyue </root/anyue.dump
like
模糊查询
% 或者 _
1 2 3 4 5 6 [root@xy ~]# mysql: emp,dept,salgrate [root@xy ~]# mysql_secure_installation [root@xy ~]# firewall-cmd --permanent --add-service=mysql success [root@xy ~]# firewall-cmd --reload success
3.2 基本操作 mysql参考
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [root@xy ~ ]# mysql - uroot - p # 进入数据库 MariaDB [(none )]> show databases; # show databses 显示数据库 + | Database | + | information_schema | | mysql | | performance_schema | + 3 rows in set (0.03 sec) MariaDB [(none )]> set password = password('123456' ); # 修改密码 MariaDB [(none )]> alter user 'root' @'localhost' identified by '123456' ; MariaDB [(none )]> alter database testdb character set utf8; MariaDB [(none )]> create user anyue@localhost indentified by '123456' ; Query OK, 0 rows affected (0.00 sec) # 创建用户 create user 用户名@主机名 identified by 'PASSWORD' MariaDB [(none )]> use mysql; MariaDB [mysql]> select user ,host,password from user where user = 'anyue' ; # 选择用户 + | user | host | password | + | anyue | localhost | * 6 BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | + 1 row in set (0.00 sec) MariaDB [(none )]> quit; Bye
3.3 授予权限操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [root@xy ~ ]# mysql - uanyue - p # mysql - uusername - p MariaDB [(none )]> show databases; + | Database | + | information_schema | + 1 row in set (0.01 sec) MariaDB [(none )]> quit; Bye + GRANT 权限 ON 数据库.表单名称 TO 账户名@主机名 # 授予权限 GRANT + GRANT 权限 ON 数据库.* TO 账户名@主机名 + GRANT 权限 ON * .* TO 账户名@主机名 + GRANT 权限1 ,权限2 ON 数据库.* TO 账户名@主机名 + GRANT ALL PRIVILEGES ON * .* TO 账户名@主机名 [root@xy ~ ]# mysql - u root - p MariaDB [(none )]> grant select ,update ,delete ,insert on mysql.user to anyue@localhost ; # 赋予anyue权限 MariaDB [(none )]> show grants for anyue@localhost ; # 查看anyue权限 + | Grants for anyue@localhost | + | GRANT USAGE ON * .* TO 'anyue' @'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' | | GRANT SELECT , INSERT , UPDATE , DELETE ON mysql.user TO 'anyue' @'localhost' | + 2 rows in set (0.00 sec) MariaDB [(none )]> quit Bye
3.4 移除权限操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [root@xy ~ ]# mysql - uanyue - p MariaDB [(none )]> show databases; + | Database | + | information_schema | | mysql | + 2 rows in set (0.01 sec) MariaDB [(none )]> use mysql; MariaDB [mysql]> show tables; + | Tables_in_mysql | + | user | + 1 row in set (0.01 sec) MariaDB [(none )]> quit; Bye [root@xy ~ ]# mysql - uroot - p MariaDB [(none )]> use mysql; MariaDB [mysql]> revoke select ,update ,delete ,insert on mysql.user from anyue@localhost ; # 移除对anyue的授权 REVOKE MariaDB [(none )]> revoke select ,update ,insert ,delete on mysql.user from xy@localhost ; MariaDB [(none )]> revoke all privileges on * .* from anyue@localhost ; Query OK, 0 rows affected (0.01 sec) MariaDB [mysql]> show grants for anyue@localhost ; + | Grants for anyue@localhost | + | GRANT USAGE ON * .* TO 'anyue' @'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' | + 1 row in set (0.01 sec) MariaDB [(none )]> quit; Bye
3.5 数据库 表单操作
CREATE DATABASE 数据库名称
DESCRIBE 表单名称(DESC)
UPDATE 表单名称 SET attribute=新值 WHERE attribute=旧值
USE 数据库名称
SHOW databases # 显示当前已有的数据库
SHOW tables # 显示当前数据库中的表单
SELECT * FROM 表单名称
DELETE FROM 表单名 WHERE attribute=值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 [root@xy ~ ]# mysql - u root - p MariaDB [(none )]> create database mybook; # 创建数据库xy Query OK, 1 row affected (0.01 sec) MariaDB [(none )]> show databases; + | Database | + | information_schema | | mysql | | performance_schema | | mybook | + 4 rows in set (0.02 sec) MariaDB [(none )]> use mybook; Database changed MariaDB [xy]> create table mybook (name char (15 ),price int ,pages int ); # 创建表单 Query OK, 0 rows affected (0.03 sec) MariaDB [xy]> desc mybook; # desc mybook; + | Field | Type | Null | Key | Default | Extra | + | name | char (15 ) | YES | | NULL | | | price | int (11 ) | YES | | NULL | | | pages | int (11 ) | YES | | NULL | | + 3 rows in set (0.02 sec) MariaDB [xy]> insert into mybook(name,price,pages) values ('MC' ,'60' ,'518' ); # 往表单mybook插入数据 MariaDB [xy]> select * from mybook; # 选择表单内容 + | name | price | pages | + | MC | 60 | 518 | + 1 row in set (0.00 sec) MariaDB [xy]> update mybook set price= 55 ; # 更新表单内容 Query OK, 1 rows affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 MariaDB [xy]> select name,price from mybook; + | name | price | + | MC | 50 | + 1 rows in set (0.01 sec) MariaDB [xy]> delete from mybook; Query OK, 1 rows affected (0.01 sec) MariaDB [xy]> selete * from mybook; Empty set (0.01 sec) MariaDB [(none )]> quit; Bye
3.6 数据库where命令 =、<>或!=、>、<、>= 大于或等于、<= 小于或等于 BETWEEN 在某个范围内、 LINK 搜索一个例子、IN 在列中搜索多个值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 [root@xy ~ ]# mysql - u root - p MariaDB [xy]> select * from mybook; + | name | price | pages | + | ShenQu | 58 | 800 | | MC | 60 | 518 | | Baoliandeng | 70 | 65 | | xy | 45 | 83 | | xy1 | 45 | 83 | + 5 rows in set (0.00 sec) MariaDB [xy]> select * from mybook where price> 45 ; + | name | price | pages | + | ShenQu | 58 | 800 | | MC | 60 | 518 | | Baoliandeng | 70 | 65 | + 3 rows in set (0.00 sec) MariaDB [xy]> select * from mybook where price!= 60 ; + | name | price | pages | + | ShenQu | 58 | 800 | | Baoliandeng | 70 | 65 | | xy | 45 | 83 | | xy1 | 45 | 83 | + 4 rows in set (0.01 sec) MariaDB [(none )]> quit; Bye
3.7 数据库的备份mysqldump 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [root@xy ~ ]# mysqldump - uroot - p xy > / root/ xy.dump Enter password: [root@xy ~ ]# mysql - uroot - p MariaDB [(none )]> drop database xy; Query OK, 1 row affected (0.03 sec) MariaDB [(none )]> show databases; + | Database | + | information_schema | | mysql | | performance_schema | + 3 rows in set (0.01 sec) MariaDB [(none )]> create database xy; Query OK, 1 row affected (0.01 sec) MariaDB [(none )]> quit; Bye
3.8 数据库还原 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [root@xy ~ ]# mysql - uroot - p xy < / root/ xy.dump # xy 是 数据库,不是密码 Enter password: [root@xy ~ ]# mysql - uroot - p MariaDB [(none )]> use xy; MariaDB [xy]> show tables; + | Tables_in_xy | + | mybook | + 1 row in set (0.00 sec) MariaDB [xy]> desc mybook; + | Field | Type | Null | Key | Default | Extra | + | name | char (15 ) | YES | | NULL | | | price | int (11 ) | YES | | NULL | | | pages | int (11 ) | YES | | NULL | | + 3 rows in set (0.01 sec) MariaDB [(none )]> quit; Bye
练习: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [root@Xingyue ~ ]# mysql - uroot - p MariaDB [(none )]> show databases; + | Database | + | information_schema | | mysql | | performance_schema | + 3 rows in set (0.00 sec) MariaDB [(none )]> grant all privileges on * .* to anyue@localhost identified by '123456' MariaDB [(none )]> grant all privileges on * .* to root@localhost identified by '123456' MariaDB [(none )]> grant all privileges on * .* to root@127 .0 .0 .1 identified by '123456' MariaDB [(none )]> use mysql; MariaDB [(none )]> select user ,host,password from mysql.user; + | user | host | password | + | root | localhost | * 6 BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | root | 127.0 .0 .1 | * 6 BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | root | ::1 | * 6 BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | anyue | 127.0 .0 .1 | * 6 BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | + 4 rows in set (0.00 sec)
binlog日志 1 2 3 4 [root@xy ~ ]# vim / etc/ my.cnf log- bin= mysql- bin # 开启二进制日志, 只记录增删改 [root@xy ~ ]# mysqlbinlog [root@xy ~ ]# mysqlbinlog
MySQL主从备份(备份,负载均衡): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [root@xy ~ ]# vim / etc/ my.cnf 主: 192.168 .10 .10 [mysqld] log- bin= mysql.bin server- id= 10 mysql> grant replication slave on * .* to slave@'192.168.10.20' identified by '123456' ; mysql> show master status; # replication 拷贝 + | Fiel | Position | Binlog_Do_DB | Binglog_Ignore_DB | + | mysql- bin.000003 | 257 | | | + 备: 192.168 .10 .20 [mysqld] log- bin= mysql.bin server- id= 20 mysql> change master to - > master_user= 'slave' , - > master_password= '123456' , - > master_host= '192.168.10.10' , - > master_log_file= 'mysql-bin.000003' , - > master_log_pos= 257 ; mysql> start slave; mysql> show slave status;
MySQL主主备份(均摊写压力):
在主从备份的基础上如下操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [root@xy ~]# vim /etc/my.cnf 主: 192.168.10.10 [mysqld] log-bin=mysql.bin server-id=10 replace-do-db=test binlog-ignore-db=mysql binlog-ignore-db=information_schema auto-increment-increment=2 auto=increment-offset=1 mysql> change master to -> master_user='slave' , -> master_password='123456' , -> master_host='192.168.10.20' , -> master_log_file='mysql-bin.000004' , -> master_log_pos=259; mysql> start slave; mysql> show slave status\G; 备: 192.168.10.20 [mysqld] log-bin=mysql.bin server-id=20 replace-do-db=test binlog-ignore-db=mysql binlog-ignore-db=information_schema auto-increment-increment=2 auto=increment-offset=1 mysql> grant replication slave on *.* to slave@'192.168.10.10' identified by '123456' ; mysql> show master status;
4.1 使用PXE+Kickstat无人值守安装服务
PXE(Preboot eXecute Environment) —预启动执行环境,可以让计算机通过网络来启动操作系统,主要用于在无人值守安装系统中引导客户端安装Linux操作系统
Kickstat无人值守安装方式 ,预先把手工填写参数保存为ks.cfg 文件,安装过程自动匹配Kickstat生成的文件
DHCP + vsftp + tftp + Kickstart
4.2 DHCP服务程序配置 (192.168.37.10 无人值守系统服务器IP) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [root@xy ~]# yum install dhcp [root@xy ~]# vim /etc/dhcp/dhcpd.conf allow booting; allow bootp; ddns-update-style interim; ignore client-updates; subnet 192.168.37.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0 option domain-name-server 192.168.37.10; range dynamic-bootp 192.168.37.100 192.168.37.200; default-lease-time 21600; max-server 43200; next-server 192.168.37.10; filename"pxelinux.0" ; } [root@xy ~]# systemctl restart dhcpd [root@xy ~]# systemctl enable dhcpd ln -s '/usr/lib/systemd/system/dhcpd.service' '/etc/systemd/system/multi-user.target.wants/dhcpd.service'
4.3 TFTP服务程序配置,为客户机提供引导及驱动文件,默认占用端口 69/UDP 1 2 3 4 5 6 7 [root@xy ~]# yum install tftp-server [root@xy ~]# vim /etc/xinetd.d/tftp disable = no [root@xy ~]# firewall-cmd --permanent --add-port=69/udp success [root@xy ~]# firewall-cmd --reload success
4.4 SYSLinux服务程序配置, 提供引导加载服务程序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [root@xy ~]# yum install syslinux [root@xy ~]# cd /var/lib/tftpboot/ [root@xy tftpboot]# cp /usr/share/syslinux/pxelinux.0 . [root@xy tftpboot]# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} . [root@xy tftpboot]# cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} . [root@xy tftpboot]# mkdir pxelinux.cfg [root@xy tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default [root@xy tftpboot]# ls boot.msg initrd.img pxelinux.0 pxelinux.cfg vesamenu.c32 vmlinuz [root@xy tftpboot]# vim /pxelinux.cfg/default default linux label linux menu label ^Install Red Hat Enterprise Linux 7.0 kernel vmlinuz append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.0\x20Server.x86_64 quiet append initrd=initrd.img inst.stage2=ftp://192.168.37.10 ks=ftp://192.168.37.10/pub/ks.cfg quiet
4.5 vsftp服务程序配置,光盘镜像通过FTP协议传输 1 2 3 4 5 6 7 8 9 10 [root@xy ~]# yum install vsftpd [root@xy ~]# systemctl restart vsftpd [root@xy ~]# systemctl enable vsftpd ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service' [root@xy ~]# cp -r /media/cdrom/* /var/ftp [root@xy ~]# firewall-cmd --permanent --add-service=ftp success [root@xy ~]# firewall-cmd --reload success [root@xy ~]# setsebool -P ftpd_connect_all_unreserved=on
4.6 创建应答文件Kickstart 1 2 3 4 5 6 7 8 [root@xy ~]# cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg [root@xy ~]# chmod +r /var/ftp/pub/ks.cfg [root@xy ~]# vim /var/ftp/pub/ks.cfg url --url=ftp://192.168.37.10 timezone Aisa/Shanghai --isUtc cleanpart --all --initlable [root@xy ~]# yum istall system-config-kickstart
DHCP : 给未安装操作系统的机子分配静态IP, 并加载引导驱动文件 pxelinux.0;
tftp (基于 UDP 文件传输协议): 为客户机提供引导及驱动文件;
SYSLinux : 复制引导文件 pxelinux.0 到TFTP 默认目录中, 创建 /pxelinux.cfg/defalut 文件;
vsftp : 将光盘镜像挂载到 media/cdrom, 复制到 vsftp 工作目录;
创建 Kickstart 应答文件: /var/ftp/pub/ks.cfg
4.1 Cobbler 无人值守安装服务 1 2 [root@localhost ~]# systemctl disable firewalld.service [root@localhost ~]# setenforce 0
4.2 安装配置Cobbler 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [root@xy ~]# yum -y instal epel-release [root@xy ~]# yum install cobbler cobbler-web pykickstart debmirror [root@xy ~]# systemctl restart httpd [root@xy ~]# systemctl enable httpd [root@xy ~]# systemctl restart cobblerd [root@xy ~]# systemctl enable cobblerd [root@xy ~]# netstat -antp | grep 25151 [root@xy ~]# vim /etc/cobbler/settings server: 10.10.10.11 next_server: 10.10.10.11 manage_dhcp: 1 [root@xy ~]# cobbler get-loaders [root@xy ~]# systemctl enable rsyncd [root@xy ~]# systemctl restart rsyncd [root@xy ~]# vim /etc/debmirror.conf @dists="sid" ; [root@xy ~]# openssl passwd -l -salt $(openssl rand -hex 4) [root@xy ~]# vim /etc/cobbler/settings default_passsword_cryptes:"加密字符串" [root@xy ~]# yum install cman fence-agents
4.3配置tftp服务 1 2 3 4 5 6 7 8 9 10 [root@localhost ~]# yum install xinetd [root@xy ~]# vim /etc/xinetd.d/tftp disabled=no [root@xy ~]# systemctl start xinetd [root@xy ~]# systemctl enable xinetd [root@xy ~]# systemctl restart tftp [root@xy ~]# systemctl enable tftp [root@xy ~]# systemctl restart cobblerd [root@xy ~]# cobbler sync [root@xy ~]# cobbler check
4.4配置DHCP服务 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [root@xy ~]# yum install dhcp [root@xy ~]# vim /etc/dhcp/dhcpd.conf option domain-name "chinasoft.com" ; option domain-name-servers 114.114.114.114,8.8.8.8; default-lease-time 43200; max-server 86400; log-facility local 7; subnet 10.10.10.0 netmask 255.255.255.0 { range dynamic-bootp 10.10.10.100 10.10.10.200; option routers 10.10.10.11 option subnet-mask 255.255.255.0 option domain-name-servers 10.10.10.2; } next-server 10.10.10.11; filename"pxelinux.0" ; [root@xy ~]# systemctl restart dhcpd [root@xy ~]# systemctl enable dhcpd [root@xy ~]# systemctl restart cobblerd [root@localhost ~]# cobbler sync
4.5导入镜像
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [root@xy ~]# mkdir /mnt/cdrom/ && mount -t iso9660 /dev/cdrom /mnt/cdrom [root@localhost ~]# cobbler import --path=/mnt/cdrom --name="CentOS7.6" [root@localhost ~]# cobbler import --path=/mnt/cdrom --name="CentOS6.8" 10.10.10.11/cobbler /var/www/cobbler/ks_mirror/CentOS-7-x86_64 /var/lib/cobbler/kickstarts [root@xy ~]# cobbler distro list centos7.6-x86_64 centos6.8-x86_64 [root@xy ~]# cobbler profile remove --name=centos7.6-x86_64 [root@xy ~]# mv centos7-x86_64.cfg centos6-x86_64.cfg /var/lib/cobbler/kickstarts url --url="image link" rootpw --iscrypted $default_password_crypted [root@xy ~]# cobbler profile add --name=centos6.5-x86_67-basic --distro=centos6.5-x86_64 --kickstart=/var/lib/cobbler/kickstart/centos6.5-x86_64.cfg [root@xy ~]# cobbler profile list centos6.8-basic centos7.6-basic [root@xy ~]# cobbler sync