首页
归档
时光轴
推荐
Cloud
图床
导航
Search
1
openstact 基础环境安装 (手动版)
567 阅读
2
Deploy OpenStack offline based on Kolla
466 阅读
3
Typecho 1.2.0 部署
419 阅读
4
Mariadb 主从复制&读写分离
400 阅读
5
FusionCompute8.0 体验
324 阅读
Python
Linux
随笔
mysql
openstack
Search
标签搜索
linux
Pike
python
爬虫
openstack
mysql
Essay
Ansible
docker
Zabbix
kolla
Internet
Redis
1+X
Hyper-V
jenkins
Kickstart
自动化
sh
Acha
累计撰写
76
篇文章
累计收到
1
条评论
首页
栏目
Python
Linux
随笔
mysql
openstack
页面
归档
时光轴
推荐
Cloud
图床
导航
搜索到
76
篇与
Acha
的结果
2021-04-27
Redis 基础操作
Redis 安装 目录规划 [root@r_db01 ~]# tree /data /data ├── redis_cluster │ └── redis_6379 └── soft [root@r_db01 ~]# tree /opt/ /opt/ └── redis_cluster └── redis_6379 ├── conf ├── logs └── pid 编译安装 创建所需目录 mkdir -p /data/soft mkdir -p /data/redis_cluster/redis_6379 mkdir -p /opt/redis_cluster/redis_6379/{conf,pid,logs} 下载tar包 cd /data/soft/ wget http://download.redis.io/releases/redis-3.2.9.tar.gz 解压安装 yum install -y gcc-c++ tar zxf redis-3.2.9.tar.gz -C /opt/redis_cluster/ ln -s /opt/redis_cluster/redis-3.2.9/ /opt/redis_cluster/redis cd /opt/redis_cluster/redis make && make install 生成配置文件 vi /opt/redis_cluster/redis_6379/conf/redis_6379.conf ### 以守护进程模式启动 daemonize yes ### 绑定的主机地址 bind 10.35.172.71 ### 监听端口 port 6379 ### pid文件和log文件的保存地址 pidfile /opt/redis_cluster/redis_6379/pid/redis_6379.pid logfile /opt/redis_cluster/redis_6379/logs/redis_6379.log ### 设置数据库的数量,默认数据库为0 databases 16 ### 指定本地持久化文件的文件名,默认是dump.rdb dbfilename redis_6379.rdb ### 本地数据库的目录 dir /data/redis_cluster/redis_6379 启动服务 启动 redis-server /opt/redis_cluster/redis_6379/conf/redis_6379.conf 关闭 redis-cli -h db01 shutdown 使用 全局命令 查看所以键(禁止使用) Keys * 查看键总数 Dbsize 检查键是否存在(存在:1 不存在: 0) Exists key 删除键 Del key [key …] 键过期 Expire key seconds # 大于等于0的证书: 键剩余过期时间 # -1: 键没设置过期时间 # -2: 键不存在 查看键的类型 Type key 字符类型 设置 - 获取 SET GET db01:6379> set key value OK db01:6379> get key "value" 计数器 INCR INCRBY db01:6379> SET A 10 OK db01:6379> GET A "10" db01:6379> INCR A (integer) 11 db01:6379> GET A "11" db01:6379> INCRBY A 4 (integer) 15 db01:6379> get A "15" 多值设置 - 多支获取 MEST MGET db01:6379> mset key3 v3 key4 v4 key5 v5 OK db01:6379> mget key3 key4 key5 1) "v3" 2) "v4" 3) "v5" 判断,删除 EXISTS DEL db01:6379> exists key5 (integer) 1 db01:6379> del key5 (integer) 1 db01:6379> exists key5 (integer) 0 db01:6379> del key5 (integer) 0 查看类型 TYPE db01:6379> set key5 v5 OK db01:6379> type key5 string 过期(单位: 秒) EXPIRE db01:6379> expire key5 10 (integer) 1 db01:6379> ttl key5 (integer) 6 去除超时 PERSIST db01:6379> persist key5 (integer) 1 db01:6379> ttl key5 (integer) -1 列表 LPUSH RPUSH LRANGE db01:6379> RPUSH LST 1 2 3 4 5 (integer) 5 db01:6379> get lst (error) WRONGTYPE Operation against a key holding the wrong kind of value db01:6379> lrange lst 0 -1 1) "1" 2) "2" 3) "3" 4) "4" 5) "5" RPOP LPOP db01:6379> LPOP LST "1" db01:6379> lrange LST 0 -1 1) "2" 2) "3" 3) "4" 4) "5" db01:6379> RPOP LST "5" db01:6379> lrange LST 0 -1 1) "2" 2) "3" 3) "4" 哈希 HMSET HMGAT HGAT db01:6379> HMSET acha name acha age 20 six m OK db01:6379> HMGET acha name age six 1) "acha" 2) "20" 3) "m" db01:6379> HGET acha age "20" 集合 SADD SMEMBERS db01:6379> sadd set1 1 2 3 (integer) 3 db01:6379> smembers set1 1) "1" 2) "2" 3) "3" SREM db01:6379> srem set1 2 3 (integer) 2 db01:6379> smembers set1 1) "1" SDIFF (差集) db01:6379> sadd set1 1 2 3 4 (integer) 2 db01:6379> sadd set2 1 4 5 (integer) 3 db01:6379> sdiff set1 set2 1) "2" 2) "3" SINTER (交集) db01:6379> sinter set1 set2 1) "1" 2) "4" SUNION (并集) db01:6379> sunion set1 set2 1) "1" 2) "2" 3) "3" 4) "4" 5) "5" 持久化 RDB 可以在指定的时间间隔内生成数据集的 时间点快照 优点:速度快,适合于用做备份,主从复制也是基于RDB持久化功能实现的 缺点:会有数据丢失 配置参数 vim /data/6379/redis.conf dir /data/6379 dbfilename dump.rdb #900秒(15分钟)内有1个更改 save 900 1 #300秒(5分钟)内有10个更改 save 300 10 #60秒内有10000个更改 save 60 10000 AOF 记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾 优点:可以最大程度保证数据不丢 缺点:日志记录量级比较大 配置参数 #日志文件名 appendfilename "appendonly.aof" #是否打开aof日志功能 appendonly yes #每1个命令,都立即同步到aof appendfsync always #每秒写1次 appendfsync everysec #写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到aof appendfsync no Tip: RDB & AOF 可以同时开启 安全认证 redis默认开启了保护模式,只允许本地回环地址登录并访问数据库 protected-mode yes/no (保护模式,是否只允许本地访问) bind:指定IP进行监听 [root@db01 ~]# vim /opt/redis_cluster/redis_6379/conf/redis_6379.conf bind 10.35.172.71 127.0.0.1 requirepass:密码 [root@db01 ~]# vim /opt/redis_cluster/redis_6379/conf/redis_6379.conf requirepass sa 密码验证 [root@db01 ~]# redis-cli -a sa 127.0.0.1:6379> set k1 v1 OK or [root@db01 ~]# redis-cli -a sa 127.0.0.1:6379> set k1 v1 OK 主从复制 一个主节点可以有多个从节点 每个从节点只能由一个主节点 配置方法: 在配置文件中加入 slaveof {masterHost} {masterPort} 启动命令后加 slaveof {masterHost} {masterPort} 直接使用命令 slaveof {masterHost} {masterPort} 查看状态信息: Info replication 断开复制: slaveof no one Tip:断开主从关系,从节点升为主节点,不会清空原有数据 哨兵 Sentinel (哨兵),基于主从复制,为redis提供高可用性,故障时,可以自动切换主从 作用: 监控(Monitoring) 提醒(Notification) 自动故障迁移(Automatic failover) 部署: 创建数据目录 mkdir -p /data/redis_cluster/redis_26379 创建配置目录 mkdir -p /opt/redis_cluster/redis_26379/{conf,pid,logs} 生成配置文件 vim /opt/redis_cluster/redis_26379/conf/redis_26379.conf bind 10.35.172.71 port 26379 daemonize yes logfile /opt/redis_cluster/redis_26379/logs/redis_26379.log dir /data/redis_cluster/redis_26379 sentinel monitor mymaster 10.35.172.71 6379 2 sentinel down-after-milliseconds mymaster 3000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 18000 配置文件说明 #主节点别名 主节点ip和端口 判断主节点失败,两个sentinel节点同意 sentinel monitor mymaster 10.0.0.51 6379 2 #选项指定 Sentinel 认为服务器已经断线所需的毫秒数。 sentinel down-after-milliseconds mymaster 30000 #向新的主节点发起复制操作的从节点个数,1轮询发起复制 sentinel parallel-syncs mymaster 1 #故障转移超时时间 sentinel failover-timeout mymaster 180000 启动 redis-sentinel /opt/redis_cluster/redis_26379/conf/redis_26379.conf 登录 redis-cli -h db01 -p 26379 查询 Info Sentinel 手动切换主节点 将从节点 slavepriority 配置为0 设置主节点 将slave-priority调回原值 #查询命令 CONFIG GET slave-priority #设置命令 CONFIG SET slave-priority 0 #主动切换 sentinel failover mymaster
2021年04月27日
225 阅读
0 评论
0 点赞
2021-04-20
H3C 综合实验
PC1、PC2、SW1、RT1、RT2、RT3、FTP Server为局域网内的设备,其中RT3为局域网的网关;RT4、SW2、PC3模拟广域网上的设备; PC机IP地址以及路由器各接口IP地址根据表格中的IP进行设置; PC1属于VLAN2,PC2属于VLAN3,通过在RT1上使用单臂路由使其连通; RT1、RT2、RT3之间使用多区域0SPF连通,串行链路使用PPP,使用CHAP进行认证; 内网访问外网采用Easy IP,采用RT3出接口的IP地址作为转换后的源地址; RT3与RT4之间采用HDLC进行连接; FTP Server映射到外网的IP地址是200.1.1.2,禁止 PC2 访问PC3。 单臂路由 SW1 <H3C>sy System View: return to User View with Ctrl+Z. [H3C]vlan 2 [H3C-vlan2]port g1/0/1 [H3C-vlan2]vlan 3 [H3C-vlan3]port g1/0/2 [H3C-vlan3]int g1/0/3 [H3C-GigabitEthernet1/0/3]port link-type trunk [H3C-GigabitEthernet1/0/3]port trunk permit vlan 2 3 R1 <H3C>sy [H3C]int g0/0 [H3C-GigabitEthernet0/0]ip address 10.0.0.254 24 [H3C-GigabitEthernet0/0]int g0/0.2 [H3C-GigabitEthernet0/0.2]ip address 10.0.1.254 24 [H3C-GigabitEthernet0/0.2]vlan-type dot1q vid 2 [H3C-GigabitEthernet0/0.2]int g0/0.3 [H3C-GigabitEthernet0/0.3]vlan-type dot1q vid 3 [H3C-GigabitEthernet0/0.3]ip address 10.0.2.254 24 OSPF R1 [H3C]int g0/0 [H3C-GigabitEthernet0/0]ospf 100 area 1 [H3C-GigabitEthernet0/0]int g0/0.2 [H3C-GigabitEthernet0/0.2]ospf 100 area 1 [H3C-GigabitEthernet0/0.2]int g0/0.3 [H3C-GigabitEthernet0/0.3]ospf 100 area 1 [H3C-GigabitEthernet0/0.3]int s1/0 [H3C-Serial1/0]ip address 10.1.0.1 30 [H3C-Serial1/0]ospf 100 area 1 R2 [H3C]int s1/0 [H3C-Serial1/0]ip address 10.1.0.2 30 [H3C-Serial1/0]ospf 100 area 1 [H3C-Serial1/0]int s2/0 [H3C-Serial2/0]ip address 10.1.0.5 30 [H3C-Serial2/0]ospf 100 area 0 [H3C-Serial2/0]quit [H3C]int g0/0 [H3C-GigabitEthernet0/0]ip address 10.2.0.254 24 [H3C]ospf 100 [H3C-ospf-100]import-route direct cost 2 R3 <H3C>sy [H3C]int s2/0 [H3C-Serial2/0]ip address 10.1.0.6 30 [H3C-Serial2/0]ospf 100 area 0 [H3C-Serial2/0]int s1/0 [H3C-Serial1/0]ip address 200.1.1.1 24 [H3C-Serial1/0]quit [H3C]ip route-static 0.0.0.0 0.0.0.0 200.1.1.101 [H3C]ospf 100 [H3C-ospf-100]default-route-advertise always CHAP R2 XXX R1 [H3C]int s1/0 [H3C-Serial1/0]ppp chap user 31931 [H3C-Serial1/0]ppp chap password simple 000 Easy IP R3 [H3C]acl basic 2000 [H3C-acl-ipv4-basic-2000]rule 0 permit source 10.0.0.0 0.255.255.255 [H3C-acl-ipv4-basic-2000]int s1/0 [H3C-Serial1/0]nat outbound 2000 HDLC R3 [H3C-Serial1/0]link-protocol hdlc R4 [H3C]int s1/0 [H3C-Serial1/0] ip address 200.1.1.101 24 [H3C-Serial1/0]link-protocol hdlc [H3C-Serial1/0]int g0/0 [H3C-GigabitEthernet0/0]ip address 200.2.1.254 24 NAT server R3 [H3C]int s1/0 [H3C-Serial1/0]nat server global 200.1.1.2 inside 10.2.0.1 R2 [H3C]acl advanced 3000 [H3C-acl-ipv4-adv-3000]rule 1 deny ip source 10.0.2.1 0.0.0.255 destination 200.2.1.1 0.0.0.255 [H3C-acl-ipv4-adv-3000]int s2/0 [H3C-Serial2/0]packet-filter 3000 outbound
2021年04月20日
200 阅读
0 评论
0 点赞
2021-04-20
尝试EVE-NG
EVE 版本: 社区版 专业版 教育版 修改版 体验了社区版与修改版,最后使用了懒人版4.0(基于社区版) 下载的别人总好的修改版(80G),有点大,镜像太多。还是想从简单的来自己慢慢加镜像。 对于经常使用的linux,与网络设备镜像。前者还是自己建的体验比较好,网络设备不是很熟悉还在认识。 最后关于,EVE在VMware的网络还是选择了NAT,毕竟好多东西还是要联网的。 然后也开了DHCP,有的时候还是连上网就可以,不用关心IP是多少,重要的可以配静态。 最近做了如下几件事: 体验修改版,社区版 网络模式调整 了解EVE-NG的使用 制作CentOS镜像 关联客户端软件 资料查找: EVE-NG官网 EVE-NG B站 EVE模拟器综合教程 论坛 EmulatedLab Eve-NG-中文网 QQ群 EmulatedLab②群(178989902) 博客 情系の乌托邦 介绍 EVE-NG (全称Emulated Virtual Environment - Next Generation) Emulated Virtual Environment - Next Generation 译文 下一代模拟虚拟环境 由国外大神开发,融合了 dynamips,IOL,KVM。基于Ubuntu 深度定制的操作系统,采用B/S模型。 安装 Tip:ova模板安装 下载 .ova 文件 解压到Vmware 调整默认配置 启动虚拟机 初始化 EVE-ng 登录使用 Ubantu16 网络配置 修改网络配置文件 /etc/network/interfaces # The primary network interface iface eth0 inet manual auto pnet0 iface pnet0 inet static address 192.168.200.100 netmask 255.255.255.0 gateway 192.168.200.2 bridge_ports eth0 bridge_stp off /etc/systemd/resolved.conf [Resolve] DNS=8.8.8.8 DNS=114.114.114.114 重启网络 /etc/init.d/networking restart 测试通信 ping 网关 ping 8.8.8.8 关联客户端软件 Tip:操作系统为Windows10 下载客户端软件 按照提示安装 VNC只安装Viewer 其他默认下一步 安装 CRT,并获取 SecureCRT.exe 的绝对路径 修改 win10_64bit_sCRT.reg 中 SecureCRT的绝对路径 双击 win10_64bit_sCRT.reg 修改注册表 在浏览测试,选择SecureCRT默认打开 telnet协议 制作CentOS镜像 Tip : 以 CentOS1804 为例 在 /opt/unetlab/addons/qemu/ 下新建文件夹 (格式为 linux-xx) cd /opt/unetlab/addons/qemu/ mkdir linux-CentOS1804-M 上传Centos镜像到该目录下 修改文件名为 cdrom.iso mv CentOS-7-x86_64-DVD-1804.iso cdrom.iso 创建新的硬盘 /opt/qemu/bin/qemu-img create -f qcow2 virtioa.qcow2 20G 刷新权限 /opt/unetlab/wrappers/unl_wrapper -a fixpermissions 在web界面创建node并配置该系统完成初始化 网络初始化 echo "TYPE=Ethernet BOOTPROTO=dhcp NAME=eth0 DEVICE=eth0 ONBOOT=yes" > /etc/sysconfig/network-scripts/ifcfg-eth0 Yum源 yum install -y wget mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum install -y eple-release yum clean all yum repolist 防火墙,selinux systemctl stop firewalld systemctl disable firewalld vi /etc/selinux/config SELINUX=permissive 系统调整 关闭node,删除 cdrom.iso rm /opt/unetlab/addons/qemu/linux-CentOS1804-M/cdrom.iso 提交镜像 找到 uidd 和 node id 提交镜像 cd cd /opt/unetlab/tmp/0/2a5c9a2b-0328-489c-81c2-5a2ca83cf509/2/ /opt/qemu/bin/qemu-img commit virtioa.qcow2 压缩镜像 virt-sparsify --compress virtioa.qcow2 compressvirtioa.qcow2
2021年04月20日
274 阅读
0 评论
0 点赞
2021-04-19
VMware网络模式分析
前言 最近,看了个redhut训练营。了解zabbix,在过程中看到老师使用的模拟器很有意思 EVE-NG的拓扑,总体感觉很直观。只要有镜像,就可以模拟操作系统与网络设备,很方便 EVE-NG基于ubantu,刚使用的时候出了些网络问题,就是ubantu的使用和VMware网络模式 网络模式 桥接模式 仅主机模式 NAT模式 虚拟网络编辑器 VMnet0:用于桥接模式下的虚拟交换机 VMnet1:用于仅主机模式下的虚拟交换机 VMnet8:用于NAT模式下的虚拟交换机 模式分析 {mtitle title="桥接模式"/} 与物理机桥接,共用物理机的物理网卡,可以连接物理机所在内网与外网(互联网) {mtitle title="仅主机模式"/} 使用虚拟网卡,与物理机网卡相连,只可以与主机通信,不能访问外网 {mtitle title="NAT模式"/} 使用虚拟网卡,该虚拟网卡有NAT功能,可以访问外网,不能与物理机所在内网通信 不论使用何种模式,VMware的虚拟网卡都与物理网卡相连接,所以物理机都可以访问虚拟机 并且,一台虚拟机可以添加多块虚拟网卡,达到与内网及外网通信的效果
2021年04月19日
121 阅读
0 评论
0 点赞
2021-04-13
Keystone
Keystone 介绍 Keystone(OpenStack Identity Service) Keystone 的功能是负责验证身份、校验服务规则和发布服务令牌,实现OpenStack的Identity API Keystone 可分解为两个功能,即权限管理和服务目录。权限管理主要用于用户的管理授权 服务目录,类似一个服务总线,或者说是整个OpenStack框架的注册表 认证模块提供API服务、Token令牌机制、服务目录、规则和认证发布等功能 相关概念 认证 (Authentication) 认证是确认允许一个用户访问的进程。为了确认请求,OpenStack Identity 会为访问用 户提供证书,起刜这些证书是用户名和密码,戒用户名和 API key。当 OpenStack Identity 学习目标 项目 三 认证服务项目三 认证服务 37 认证体系接受了用户的请求乊后,它会发布一个认证令牌(Token),用户在随后的请求中 使用这个令牌去访问资源中其他的应用。 证书 (Credentials) 用于确认用户身份的数据。例如,用户名、密码戒者 API key,戒认证服务提供的认证 令牌。 令牌 (Token) 通常指的是一串比特值戒者字符串,用来作为访问资源的记号。Token(令牌统一用词) 中含有可访问资源的范围和有效时间,一个令牌是一个任意比特的文本,用于不其他 OpenStack 服务来共享信息,Keystone 以此来提供一个 central location,以验证访问 OpenStack 服务的用户。令牌的有效期是有限的,可以随时被撤回。 项目 (project) project 即项目,早期版本又称为 project,它是各个服务中的一些可以访问的资源集合。 例如,通过 nova 创建虚拟机时要指定到某个项目中,在 cinder 创建卷也要指定到某个项目 中,用户访问项目的资源前,必须不该项目关联,并且指定该用户在该项目下的角色。 平台构建完毕会产生 admin、service 和 demo 三个项目。在这些项目中,admin 项目代 表管理组,拥有平台的最高权限,可以更新、初除和修改系统的任何数据。service 代表平 台内所有服务的总集合,平台安装的所有服务默认会被加入到此项目中,为后期的统一管 理提供帮劣,此项目可以修改当前项目下所有服务的配置信息,提交项目的内容以及修改。 demo 则是一个演示测试项目,没有什么实际的用处。 用户 (User) 使用服务的用户,可以是人、服务戒系统使用 OpenStack 相关服务的一个组织。例如, 一个项目映射到一个 Nova 的“project-id”,在对象存储中,一个项目可以有多个容器。根 据丌同的安装方式,一个项目可以代表一个客户、账号、组织戒项目。用户通过 Keystone Identity 认证登录系统并调用资源。用户可以被分配到特定项目并执行项目相关操作。需要 特别指出的是,OpenStack 通过注册相关服务用户来管理服务,例如 Nova 服务注册 nova 用户来管理相应的服务。对于管理员来说,需要通过 Keystone 来注册管理用户。 角色 (Role) Role 即角色,Role 代表一组用户可以访问的资源权限,例如 Nova 中的虚拟机、Glance 中的镜像。Users 可以被添加到任意一个全局的 role 戒项目内的 role 中。在全局的 role 中, 用户的 role 权限作用于所有的项目,即可以对所有的项目执行 role 规定的权限。在项目内 的 role 中,用户仅能在当前项目内执行 role 规定的权限。 OpenStack 中项目(Project)、用户(User)和角色(Role)3 者的关系如下: 项目是用户的集合,项目又称为项目或 accounts 用户可以属于一个或多个工程 角色决定了用户的权限,可以分配角色给 user-project 组 实践 在openstack系统中进行操作需生效环境变量,执行命令如下 [root@xiandian ~]# source /etc/keystone/admin-openrc.sh 创建用户 创建个名称为“alice”账户,密码为“mypassword123”,邮箱为“alice @example.com”。执行命令如下 [root@xiandian ~]# openstack user create --password mypassword123 --email alice@example.com --domain xiandian alice 格式: # openstack user create [--domain <domain>] [--password <password>] [--email <email-address>] [--enable | --disable] <name> 参数 name 代表新建用户名 创建项目 创建一个名为“acme”项目 [root@xiandian ~]# openstack project create --domain xiandian acme 格式: # openstack project create [--domain <domain>] [--description <description >] [--enable | --disable] <project-name> 参数 project-name 代表新建项目名 参数 description 代表项目描述名 创建角色 创建一个角色“compute-user” [root@xiandian ~]# openstack role create compute-user 格式: # openstack role create <name> 参数 name 代表角色名称。 绑定用户和项目权限 给用户“alice”分配“acme”项目下的“compute-user”角色 [root@xiandian ~]# openstack role add --user alice --project acme compute-user 格式: # openstack role add –user <name> --project <project> <role> 参数 name 代表需要绑定的用户名称 参数 role 代表用户绑定的角色名称 参数 project 代表用户绑定的项目名称。 查询 用户 当前所有用户列表 [root@controller ~]# openstack user list 查询具体用户的详细信息 [root@controller ~]# openstack user show alice 项目 项目列表查询 [root@controller ~]# openstack project list 项目的详细信息 [root@controller ~]# openstack project show acme 角色 角色列表查询 [root@controller ~]# openstack role list 角色的详细信息 [root@controller ~]# openstack role show compute-user 端点 端点地址查询 [root@controller ~]# openstack endpoint list
2021年04月13日
142 阅读
0 评论
0 点赞
1
...
10
11
12
...
16