CentOS

为何tcp timewait需要2MSL

房东的猫 提交于 2021-01-07 08:53:06
借用一张图( https://blog.csdn.net/xp178171640/article/details/103855714 ) tcp time_wait等待2MSL有两个原因 1:如果最后一个ACK丢失,对端需要重传FIN,如果直接是CLOSED的状态,那对于重传的FIN,肯定是RST响应 2:为了保证最后一个ACK正常的丢失,因为不确认对方是否收到,需要等1个MSL,至于另一个MSL,能找到比较信服的解释就是被动关闭的一方在收到ACK的那一刻之前重发了FIN,为了保证这个FIN正常丢失,需要再等1个MSL( https://cloud.tencent.com/developer/article/1450264 , https://www.zhihu.com/question/67013338 ) 3:CentOS7.6内核中TIMEWAIT的定义是60s 定义如下 #define TCP_TIMEWAIT_LEN (60*HZ) /* how long to wait to destroy TIME-WAIT * state, about 60 seconds */ 4:TCP RFC793规定MSL为2分钟,实际Linux定义的是30S,至于为何MSL是30S,这个应该是个经验值,TCP头部的SEQ是32位,对于一个连接,如果SEQ翻转

Docker下mysql容器开启binlog日志(保留7天)

安稳与你 提交于 2021-01-07 08:21:39
现有需求开启用Docker容器启动的mysql数据库的binlog,以作为 日志记录 和 数据恢复 , 我们了解了MySQL的binlog日志的开启方式以及binlog日志的一些原理和常用操作,我们知道,binlog有两大作用,一个是使用binlog恢复数据,另一个就是用来做主从复制。本篇笔记就是来记录如何使用开启binlog日志和做数据恢复。当然了,使用binlog日志所恢复的数据只能是部分数据,并不能够使用binlog日志来做数据库的备份,如果想要做数据库备份,依然要使用我们传统的备份方法,而binlog可以作为增量备份。 以供笔记和学习,以下就是开启binlog日志的步骤过程: 1.首先,在实现前我是在虚拟机上做的实验,环境如下: [root@localhost cloud]# cat /etc/centos-release CentOS Linux release 7.4.1708 (Core) 数据库镜像版本 [root@localhost cloud]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/mysql 5.7 5195076672a7 13 days ago 371 MB 2.下载mysql 数据库镜像 docker pull mysql:5.7 3

CentOS7安装MongoDB

感情迁移 提交于 2021-01-07 00:56:32
[toc] 包安装 官方安装文档 下载安装包 官方下载地址 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.0.tgz pwd /opt/mongodb/mongodb-linux-x86_64-rhel70-4.2.0 安装依赖 centos6: yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-gssapi krb5-libs libcurl libpcap net-snmp openldap openssl centos7: yum install cyrus-sasl cyrus-sasl-gssapi cyrus-sasl-plain krb5-libs libcurl libpcap lm_sensors-libs net-snmp net-snmp-agent-libs openldap openssl rpm-libs tcp_wrappers-libs 环境变量 vi /etc/profile # MongoDB_HOME export MongoDB_HOME=/opt/mongodb/mongodb-linux-x86_64-rhel70-4.2.0 export PATH=$MongoDB_HOME/bin:$PATH source /etc/profile 运行

Docker简单介绍

五迷三道 提交于 2021-01-06 13:50:43
一、docker流程 Dockerhub:dockerhub是docker官方的镜像存储站点,其中提供了很多常用的镜像供用户下载,如ubuntu, centos等镜像 工作流程:docker服务器上运行docker Engine 服务,在docker Engine上启动很多容器container , 从外网Docker Hub或把自己封装的镜像下载来,放到container容器运行。这样一个容器的实例就运行起来了。 最后,通过Docker client 对docker 容器虚拟化平台进行控制。 二、Docker核心技术 Namespace — 实现Container的进程、网络、消息、文件系统和主机名的隔离。 Cgroup — 实现对资源的配额和度量。 三、docker特性 文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。 资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用cgroup。 网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址。 日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。 变更管理:容器文件系统的变更可以提交到新的镜像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。 交互式shell

手抖把Python2.7卸载了,导致了自己的yum不可用以及yum因python版本无法使用的问题

浪子不回头ぞ 提交于 2021-01-06 10:45:15
摘要: 从标题就能看到我有多心如死灰了,简单介绍下我是如何自残的过程. ①首先因为需要部署爬虫程序,然后安装Python3. ②Python3系列和Python2系列版本不向下兼容,所以我就卸载了机器自带的Python2.7,删的干干净净. ③然后我下载了Python3.8的包. ④我开始使用yum命令安装Python3.8的相关依赖. ⑤结果是发现yum不可用了,如下报错信息 网上找的截图,大概类似,服务器问题已经处理好了,不可能再删一次!_! 看到问题提示才知道是自己给自己挖了一个坑,心情一度灰暗到连晚饭都不想吃,最后?最后我就去聚餐去了,哈哈哈. 一.面临问题 因为卸载了Python2.7不仅是yum不可用了,我的ambari集群的那台机器也一度陷入了瘫痪之中,web界面一片飘红,当时我有想通过命令 rm -rf /* 删了那个机器的冲动.简单点说,面临的问题就是要回复原来的状态. 整个思路是这样的,没有了Python2.7,我就需先把Linux服务器依赖的Python2.7的包重新安装上,再看有没有其他问题,如果没有,好万事大吉,如果有,再看提示,开始干活. 该处理过程也适用于 yum因python版本无法使用的问题,不同的版本类型的机器,切记把机器版本号替换一下就可以了. 二.检查是否删除彻底 2.1.检查Python2.7是否卸载干净了 #卸载python rpm

git clone 加速下载。

青春壹個敷衍的年華 提交于 2021-01-06 07:42:49
ssh配置加速 windows教程。。。mac或者centos请自测。 在目录~/.ssh/config 没有手动创建 Host github.com HostName github.com User git ProxyCommand connect -H 127.0.0.1:1080 %h %p https加速很简单。。甚至可以直接用浏览器下载 比git clone要快很多 直接命令行配置。 git config --global https.proxy 'socks5://127.0.0.1:1080' git config --global http.proxy 'socks5://127.0.0.1:1080' git config --global http.proxy "http://127.0.0.1:1080" git config --global https.proxy "http://127.0.0.1:1080" 效果 来源: oschina 链接: https://my.oschina.net/u/4366862/blog/4880907

容器场景要选择什么 Linux 版本?

為{幸葍}努か 提交于 2021-01-06 07:25:46
容器的底层实现深度依赖于内核的众多特性,如 overlay 文件系统,namespace, cgroup 等,因此内核的功能和稳定性,在很大程度上,决定了整个容器PaaS平台的功能和稳定性。从 TKE 上线三年多以来,上万集群,数十万个节点的运营经验来看,内核问题约占所有节点问题的三分之一。 那么容器场景选择哪个Linux版本最好呢?在腾讯云,这个答案是 Tencent Linux 。 这时候大家应该会有很多的疑问,接下来的 FAQ 会尽力解答大家的疑问。 Tencent Linux是谁维护的? 基于什么发行版的? 是腾讯内核和虚拟化团队负责维护的。Tencent Linux 2.4 基于CentOS 7, 用户态软件包保持与最新版 CentOS 7 兼容,CentOS 7 版本的软件包可以直接在 Tencent Linux 2.4 中使用 Tencent Linux跟CentOS有什么区别? 关键的区别在内核版本,本文后面会详细介绍。 用户态有少量调整,如 YUM 源的配置等,详情请参考官方介绍文档: https://cloud.tencent.com/document/product/213/38027 内核是什么版本? Tencent Linux 2.4 目前是4.14内核。 代码和 rpm 包在 GitHub 可以获取: https://github.com/Tencent

使用lsblk命令列出系统中的块设备

拟墨画扇 提交于 2021-01-06 04:25:40
Linux 中的lsblk 命令 用于列出有关所有可用块设备的信息,但它不会列出有关RAM Disk的信息(其数据实际存储在RAM内存之中)。块设备一般包括硬盘、网络存储、usb存储,光盘等 系统环境 Centos 7 安装lsblk 命令 lsblk包含在软件包 util-linux 中,该软件包附带了其他一些实用程序,例如dmesg,如果要安装lsblk,可以使用下面命令安装 [root@localhost ~]# yum -y install util-linux lsblk各个字段解释 默认情况下,lsblk命令将以树状格式列出所有块设备: [root@localhost ~]# lsblk 一共有七列,下面时每个字段的解释: NAME: 这是块设备的名称。 MAJ:MIN: 显示设备的主要和次要设备号,MAJ(major number)表示不同的设备类型,MIN(minor number)表示同一个设备的的不同分区。 RM: 显示设备是否可移动。请注意,在此示例中,设备sr0的RM值等于1,表示它是可移动的。 SIZE: 提供有关设容量的信息。 RO: 显示设备是否为只读。在这种情况下,所有设备的RO均为RO = 0,表示它们不是只读的。 TYPE: 显示块设备是磁盘还是磁盘中的分区(部分)的信息。在此示例中,sda和sdb是磁盘,而sr0是只读存储器(rom)。

KVM管理工具webvirtmgr的使用

送分小仙女□ 提交于 2021-01-06 02:28:54
WebVirtMgr的日常配置:添加宿主机,创建虚拟机,磁盘扩容,快照等 具体操作记录如下: 一、创建虚拟机 1、创建存储池 点击创建的宿主机,进入虚拟机部署界面 点击“存储池”按钮,创建存储池(即创建磁盘镜像存放的位置) 创建存储池时,首先要在宿主机上创建一个目录,然后在”路径“设置栏中添加该目录 例:# mkdir -p /home/kvm/kvmstorage [把提前下载好的centos镜像拷贝到上面创建的存储池目录/home/kvm/kvmstorage下;这里可以放不同版本的系统镜像(windows也可以),以便在下面安装过程中选择不同镜像安装系统] 输入名称和路径 2、添加磁盘镜像 选择KVM001 注意: 下面“Metadata”前的小方框一定不能勾选(默认是勾选的,要去掉!) 这里添加的“镜像”就是所创建虚拟机的硬盘空间(我测试环境给了150G) 虚拟机所占用的空间就是这个“镜像”所在的宿主机下路径所在的分区空间(也就是/home/kvm/kvmstorage/,即宿主机的home分区) 创建完成后如下: 3、宿主机网卡的桥接模式设置 注意下面的“设备”一项要填写桥接的物理网卡(即br0对应的那个网卡,这里填的是宿主机之前的内网卡enp2s0) 网关地址也一定要填写正确,不然虚拟机和宿主机同网段机器则会网络不通。 (如下这一步其实就是创建桥接的网卡配置

Linux 入门系列

孤者浪人 提交于 2021-01-06 01:29:49
前言 以前我的不喜欢用 Linux 系统,什么目录啊,文件啊,权限啊,都得命令操作,入门难度较大。但是一旦熟练起来,真不想再去用 windows 了。再加上 shell 脚本,那才叫如虎添翼啊,真的是见识到了什么才是性能,什么才是自动化。 Linux 相较于 windows 而言,占用内存更小,因为 windows 的图形化界面比较占内存。 Linux 的生态也比较丰富,各种各样的服务端软件都会有 Linux 版本。 Linux 也衍生出各种格言的版本,我用的比较多的是 Centos 在 Linux 中,一切皆文件。所以各种目录、文件的权限、创建者、所属组都是比较实用的东西。 本文内容基于 Centos 7.4 版本。 主要内容: linux 目录说明 PATH 加载的原理及配置 常用简单命令 sed,awk,find,管道流,重定向,scp 目录介绍 Linux 中的目录还是要清楚的,有一些约定成俗的规定需要大家了解。 目录只介绍一些重要常用的。大致了解什么作用即可。 根目录- / 根目录下面有许多子目录 bin etc home opt usr sbin var tmp 等等。 /root 是用户 root 的家目录。 /home 除 root 用户之外的其它的用户家目录。 cd ~ 就是进入当前用户的家目录。 /bin /bin 实际是个软连接(理解为 windows