centos 无故重启,centos安装完成后重启进不去
求助centos7,mysql 启动服务出错的问题
一、my.cnf配置文件datadir项配置错误或被启动脚本篡改
这个问题不太说讲,主要是mysql自带的启动文件(/etc/init.d/mysqld)中会自动检测mysql的数据存储目录,若mysql新装,尚未初始化系统表,那么配置文件中的datadir项写不写无所谓,出现这种情况主要是在更改了mysql的数据存储目录,今天我出现的这个问题就在于此。
我的mysql安装后的配置文件中关于datadir项目的配置如下,而该配置文件存储于/etc/my.cnf,今儿不知动了什么东西,查来查去都没找着原因,后来打开该配置文件才发现,其中的datadir项目被篡改成/var/mysql/data了.....
[mysqld] datadir=/data/mysql socket=/tmp/mysql.sock user=mysql
二、进程里已经存在mysql进程
这种情况我很少遇到,若存在mysql进程但有不提供mysql服务(表现为其他客户端连接不上mysql服务器,例如php连接mysql时提示“连接失败”),这个时候就要看看有没有存在的mysql僵尸进程了,命令如下:
ps-ef|grep mysql
若存在,该命令执行后会列出存在的僵尸进程,kill-9 `pid`掉即可。
三、mysql的数据存储目录权限不足
这种情况发生于mysql第一次安装或升级,配置文件中的datatdir目录的权限要设定好,一般来说运行mysql的用户以及组就是mysql.mysql,那么解决权限不足问题的方法如下:
chown-R mysql.mysql/data/mysql##该命令仅为示例,其中/data/mysql就是mysql配置文件中datadir的目录##若为空,则默认为mysql安装目录下的data文件夹下
四、覆盖安装或升级mysql后,残余数据的影响
这种情况发生于mysql被覆盖安装或升级后,当然mysql无故宕机后也会有这种情况,可能会影响mysql启动的数据文件,一般存在于mysql的数据存储目录(这个目录依据my.cnf配置文件中的datadir而异),也就是存在于mysql数据存储目录下的mysql-bin.index文件,删除之即可。
五、selinux的问题,centos下最容易出现
selinux不甚了解,直接关掉。
##方法1:永久关闭seliux##修改 vi/etc/selinux/config#文件中设置SELINUX=disabled,然后重启服务器##方法2:暂时关闭seliux setenforce 0##如需每次开机都铃声关闭seliux,则可以在/etc/rc.d/rc.local文件中添加该命令
六、mysql运行状态下删除binary日志后重启失败
这是今天在群里的一个朋友出现的,特汇总于此;当mysql开启了二进制日志并且mysql在运行状态下用rm命令删除过mysql的binary日志文件的话,下次重启mysql你就悲剧了。
什么是binary日志?说白了就是mysql的数据目录下的mysql-bin.000001、mysql-bin.000002的文件。
解决方法就是修改配置文件临时关闭binary-log,然后删除mysql数据目录下的所有类似mysql-bin.000001、mysql-bin.000002的文件后再次重启,mysql即可启动成功。
#mysql配置关闭二进制日志找到如下语句注释掉即可#log-bin=mysql-bin#binlog_format=mixed
此步骤操作完毕之后,若还需要启用二进制日志,那么就要先停掉mysql服务,然后修改msyql的配置文件,再次重启即可。
另外再附上正确删除mysql二进制日志文件的方法(绝对不是rm-rf命令直接删这些文件):
#第一步通过shell或cmd登录进mysql这步没什么好说的 msyql-u root-p***#第二步在mysql下直接执行清理binary日志命令 mysql> reset master#注意:此处仅针对单台mysql而言,若有互备mysql则执行该命令有风险。
centos 上不了网
为什么我的 centos无法上网?如果您遇到 centos无法上网的问题,您并不孤单!这可能是由于网络配置或防火墙设置不当造成的。本文由 php小编小新为您提供,将深入探讨导致此问题的原因并逐步指导您解决问题。请继续阅读以了解如何诊断和修复您的上网问题,让您的 centos系统重新连接到网络。
一、centos上不了网
在使用CentOS时,有时会遇到网络连接问题,即CentOS上不了网的情况。这可能会给我们的工作和生活带来诸多不便,因此及时解决这一问题至关重要。
可能导致CentOS上不了网的原因:
网络配置错误网络服务未启动 DNS设置问题防火墙设置阻止了网络连接网络硬件故障
如果遇到CentOS上不了网的问题,我们可以按以下步骤逐一排查:
解决CentOS上不了网的方法:
1.检查网络配置:确保网络配置正确,包括IP地址、子网掩码、网关等设置无误。
2.检查网络服务状态:通过命令行查看网络服务如Network Manager或NetworkManager是否启动。
3.检查DNS设置:确认DNS服务器设置正确,可以尝试手动修改或使用公共DNS进行测试。
4.检查防火墙设置:检查防火墙是否阻止了网络连接,可以尝试关闭防火墙或放行相关端口。
5.检查网络硬件:排除网络硬件故障,可以尝试更换网线或网卡进行测试。
通过以上方法,通常可以解决CentOS上不了网的问题。如果仍然无法解决,可以尝试重启网络服务或系统。
在日常使用CentOS的过程中,及时备份重要数据也是十分重要的。避免数据丢失,可以帮助我们更好地应对各种意外情况。
总的来说,在遇到CentOS上不了网的问题时,我们首先要冷静分析可能的原因,逐一排查并解决。在解决问题的过程中,保持耐心和细心是非常关键的。
希望以上内容能对遇到CentOS上不了网问题的朋友们有所帮助,祝您的CentOS使用顺利!
二、智慧校园上不了网实现智慧校园上不了网的问题解决方案
随着科技的不断发展,智慧校园已经成为了现代教育的热门话题。在智慧校园中,学生们可以借助网络资源进行学习、交流和娱乐。然而,有时候学生们会遇到智慧校园上不了网的问题,这成为了一个困扰他们的难题。
要解决智慧校园上不了网的问题,首先需要了解问题的原因。以下是一些可能导致智慧校园上不了网的常见原因:
1.网络故障
智慧校园上不了网的一个常见原因是网络故障。有时候学校的网络出现故障,导致学生无法访问互联网。这可能是由于网络设备的故障、网络连接的问题或者是服务器的故障所致。
为了解决这个问题,学校应该及时处置网络故障,并配备专业的技术人员来处理网络问题。此外,学校还可以建立备用网络,以备网络故障时切换到备用网络,从而保证学生能够正常上网。
2.学生账号问题
智慧校园上不了网的另一个原因是学生账号问题。有时候学生的账号被禁用或者账号密码忘记,导致他们无法登录智慧校园的网络系统。
解决这个问题的办法是学校提供账号管理系统,学生可以通过该系统自助管理账号。同时,学校应该做好账号密码的保护工作,定期提示学生更改密码,并提供密码找回功能,以便学生在忘记密码时能够及时找回。
3.网络安全问题
智慧校园上不了网的另一个可能原因是网络安全问题。有时候学校为了保护学生的安全,会对网络进行一些限制,比如禁止访问某些网站或者限制某些网络应用。
为了解决这个问题,学校可以采取一些措施来加强网络安全,比如安装防火墙、监控网络流量和提供网络安全培训等。同时,学校也可以配备专门的网络管理员,及时处理学生对网络连接的需求。
4.设备兼容性问题
智慧校园上不了网的另一个原因是设备兼容性问题。有时候学生使用的设备无法与学校的网络系统兼容,导致无法正常上网。
要解决这个问题,学校可以提供一些设备兼容性测试工具,帮助学生检测设备与网络系统的兼容性。同时,学校也可以提供设备推荐列表,推荐一些在学校网络环境中兼容性良好的设备,方便学生选择适合的设备。
总结
智慧校园上不了网是一个常见的问题,但是通过一些努力和措施,是可以解决的。学校和学生需要共同努力,学校要提供良好的网络环境和技术支持,学生要合理使用网络,并及时反馈问题。只有通过双方合作,才能够真正实现智慧校园的目标。
三、三星手机连上wifi却上不了网?
主要是因为你这个WIFI路由器中断了网络连接,导致无法上网的,可以把路由器关闭等,十分钟后重新开启,然后就能够正常的上网娱乐了
四、三星电视上不了网怎么办?
如出现三星电视突然连不上网的情况,可通过以下步骤进行解决:
1、检查家中其他设备能否连接互联网,若不可连接可联系网络运营商;
2、参照路由器说明书进行重置,路由器设置Mac地址、IP地址绑定时将影响电视访问互联网,尝试修改DNS;
3、若家中使用多个设备连接同一个路由器,建议参照路由器分配的参数,分别为每个设备设置固定的IP地址,以免出现IP地址冲突;
4、如上述方法无改善,建议可联系售后具体核实。
五、WiFi上不了网?
不能上网因为WiFi可能存在连接问题,或者网络设置可能存在问题,或者存在无法访问的网站,或者WiFi信号不稳定,这些问题都可能导致不能上网。要解决这个问题,我们可以尝试重新连接WiFi,检查网络设置,检查访问的网站是否存在问题,检查WiFi信号是否稳定等。如果这些尝试都无效,可以联系网络服务提供商进行咨询。同时,我们还应该注意WiFi使用的安全性和隐私保护,不要随意连接公共WiFi网络或输入个人敏感信息。
六、12123上不了网?
交管12123网络异常是怎么回事
1、用户网络的问题,更换稳定的网络尝试。
2、交管12123APP的问题,重启交管12123APP或卸载重装交管12123APP尝试。
3、交管12123的服务器故障,耐心等待系统修复再尝试。
4、联系交管12123客服,说明情况进行解决。
七、QQ上不了网?
原因一:由于用户的误操作将IE组件损坏,导致IE内核的浏览器不能打开网页,使用金山毒霸最新版本可以轻松修复这一问题。
原因二:被木马感染的系统文件被杀毒软件当做木马病毒清除,也会导致浏览器打不开怎么办,ie打不开,能上qq打不开网页等问题。这时也可使用系统急救箱进行修复。
原因三:桌面图标病毒也会造成浏览器打不开怎么办,ie打不开,能上qq打不开网页等问题,因为桌面图标占用了系统一些注册表项,导致系统异常。而杀毒软件又不能够很好的进行修复工作,于是成了疑难。
造成浏览器打不开的病毒木马还会干什么?
1.系统会变慢,中毒后不少情况下会观察到系统变慢。
2.网络游戏玩家会发现帐号被盗或装备被盗
3.系统可能会无故弹出广告,或者弹出一些你中奖了之类的钓鱼欺诈网页。
4.可能会莫名其妙安装了一些你并没有主动下载的软件。
5.桌面上多出一些图标,点击后会链接到一些导航网站或游戏网站,有的浏览器首页会被锁定为导航站。
如何修复浏览器打不开
金山毒霸最新版本内置3引擎,即可信云查杀引擎+本地蓝芯II引擎+系统修复引擎。蓝芯II引擎负责本地高效查杀,可信云查杀引擎与云端对接识别未知文件,系统修复引擎修复中毒后造成的系统破坏。3引擎协力工作,不仅完美防范病毒,还可以在清除病毒的同时,将病毒木马造成的破坏完全恢复正常。
金山毒霸2011采用新一代蓝芯II本地引擎,不但对未知病毒的识别能力极高,扫描病毒的速度也得到大大提升,非首次扫描速度可达1000个文件/秒。更为难得的是,金山毒霸2011对系统资源占用极低,即便进行杀毒,同时操作电脑也不会“卡”。
针对越来越多替换系统文件,修改系统配置的病毒,金山毒霸特别加入系统修复引擎,用户无需重装即可恢复系统到正常状态,省去因重装造成数据丢失的麻烦。
八、wanminiport上不了网?
1.查看其他设备连接该无线网络信号是否较好或满格。
2.检查连接该无线网络的设备是否较多。
3.将手机重启,重新搜索WiFi信号。
4.若是家用路由器,建议断开电源一段时间后再次插入尝试。
5.如果使用网络运营商的无线网络,建议更换其他位置尝试。
6.更换其他无线网络试一下。
九、Wifi上不了网?
几个原因:
1. Wifi密码错误:检查您的Wifi密码是否输入正确,区分大小写。如果密码修改过请确保在所有设备上同步更新。
2. Wifi信号太弱:如果路由器离您太远,Wifi信号可能太弱连接不上。尝试移动 closer到路由器,或者调整路由器的天线方向。也可以设置路由器与客户端设备的信道一致,避免干扰。
3. MAC地址被限制:部分路由器可以根据MAC地址过滤客户端,检查您的设备MAC地址是否被路由器限制或阻止连接。需要登录路由器后台解除限制。
4. DHCP服务异常:DHCP服务器异常会导致IP地址分配失败,检查路由器DHCP服务是否开启,并尝试重启路由器让其重新分配IP地址。
5.网络设置异常:客户端网络设置异常也会连接失败,检查网络连接设置是否正确,IP地址、子网掩码、网关、DNS是否设置正常及相同段。可以尝试重置网络设置。
6.路由器或网络异常:如果以上检查均正常,可能是路由器或网络出现故障。尝试重启路由器和调制解调器,或联系网络服务商检查网络连接。
7.阻塞软件造成:有些软件会自动阻止新的网络连接,检查您的电脑是否运行这类软件并尝试关闭之后重新连接。
8.其他问题:如电脑病毒软件与网卡驱动异常等也会引起无法上网问题。需要检查并更新相关软驱和驱动程序。
所以,出现Wifi上不了网问题,首先要仔细检查以上各项设置与运行条件,确认是否异常,并逐一尝试排除故障直至网络恢复正常。
十、mac上不了网?
Mac无法上网可能是宽带欠费、网络信号不好或者网络设置问题造成的,可以尝试重启路由,重新连接Wi-Fi,如果还是不行可以打开路由器设置,找到无线网络设置,更改Wi-Fi名称和密码。在Mac上连接新的Wi-Fi就可以了
如何使用OpenStack,Docker和Spark打造一个云服务
蘑菇街基于 OpenStack和 Docker的私有云实践
本次主要想分享一下过去一年时间里,我们在建设基于Docker的私有云实践过程中,曾经遇到过的问题,如何解决的经验,还有我们的体会和思考,与大家共勉。
在生产环境中使用Docker有一些经历和经验。私有云项目是2014年圣诞节期间上线的,从无到有,经过了半年多的发展,经历了3次大促,已经逐渐形成了一定的规模。
架构
集群管理
大家知道,Docker自身的集群管理能力在当时条件下还很不成熟,因此我们没有选择刚出现的 Swarm,而是用了业界最成熟的OpenStack,这样能同时管理Docker和KVM。我们把Docker当成虚拟机来跑,是为了能满足业务上对虚拟化的需求。今后的思路是微服务化,把应用进行拆分,变成一个个微服务,实现PaaS基于应用的部署和发布。
通过OpenStack如何管理Docker?我们采用的是OpenStack+nova-docker+Docker的架构模式。nova- docker是StackForge上一个开源项目,它做为nova的一个插件,通过调用Docker的RESTful接口来控制容器的启停等动作。
我们在IaaS基础上自研了编排调度等组件,支持应用的弹性伸缩、灰度升级等功能,并支持一定的调度策略,从而实现了PaaS层的主要功能。
同时,基于Docker和Jenkins实现了持续集成(CI)。Git中的项目如果发生了git push等动作,便会触发Jenkins Job进行自动构建,如果构建成功便会生成Docker Image并push到镜像仓库。基于CI生成的Docker Image,可以通过PaaS的API或界面,进行开发测试环境的实例更新,并最终进行生产环境的实例更新,从而实现持续集成和持续交付。
网络和存储
网络方面,我们没有采用Docker默认提供的NAT网络模式,NAT会造成一定的性能损失。通过OpenStack,我们支持Linux bridge和Open vSwitch,不需要启动iptables,Docker的性能接近物理机的95%。
容器的监控
监控方面,我们自研了container tools,实现了容器load值的计算,替换了原有的top、free、iostat、uptime等命令。这样业务方在容器内使用常用命令时看到的是容器的值,而不是整个物理机的。目前我们正在移植Lxcfs到我们的平台上。
我们还在宿主机上增加了多个阈值监控和报警,比如关键进程监控、日志监控、实时pid数量、网络连接跟踪数、容器oom报警等等。
冗灾和隔离性
冗灾和隔离性方面,我们做了大量的冗灾预案和技术准备。我们能够在不启动docker daemon的情况下,离线恢复Docker中的数据。同时,我们支持Docker的跨物理机冷迁移,支持动态的CPU扩容/缩容,网络IO磁盘IO的限速。
遇到的问题及解决方法
接近一年不到的产品化和实际使用中我们遇到过各种的问题,使用Docker的过程也是不断优化Docker、不断定位问题、解决问题的过程。
我们现在的生产环境用的是CentOS 6.5。曾经有个业务方误以为他用的Docker容器是物理机,在Docker容器里面又装了一个Docker,瞬间导致内核crash,影响了同一台物理机的其他Docker容器。
经过事后分析是2.6.32-431版本的内核对network namespace支持不好引起的,在Docker内创建bridge会导致内核crash。upstream修复了这个bug,从2.6.32-431升级到2.6.32-504后问题解决。
还有一个用户写的程序有bug,创建的线程没有及时回收,容器中产生了大量的线程,最后在宿主机上都无法执行命令或者ssh登陆,报的错是"bash: fork: Cannot allocate memory",但通过free看空闲的内存却是足够的。
经过分析,发现是内核对pid的隔离性支持不完善,pid_max(/proc/sys/kernel/pid_max)是全局共享的。当一个容器中的pid数目达到上限32768,会导致宿主机和其他容器无法创建新的进程。最新的4.3-rc1才支持对每个容器进行pid_max限制。
我们还观察到docker的宿主机内核日志中会产生乱序的问题。经过分析后发现是由于内核中只有一个log_buf缓冲区,所有printk打印的日志先放到这个缓冲区中,docker host以及container上的rsyslogd都会通过syslog从kernel的log_buf缓冲区中取日志,导致日志混乱。通过修改 container里的rsyslog配置,只让宿主机去读kernel日志,就能解决这个问题。
除此之外,我们还解决了device mapper的dm-thin discard导致内核crash等问题。
体会和思考
最后分享一下我们的体会和思考,相比KVM比较成熟的虚拟化技术,容器目前还有很多不完善的地方,除了集群管理、网络和存储,最重要的还是稳定性。影响稳定性的主要还是隔离性的不完善造成的,一个容器内引起的问题可能会影响整个系统。
容器的memcg无法回收slab cache,也不对dirty cache量进行限制,更容易发生OOM问题。还有,procfs上的一些文件接口还无法做到per-container,比如pid_max。
另外一点是对容器下的运维手段和运维经验的冲击。有些系统维护工具,比如ss,free,df等在容器中无法使用了,或者使用的结果跟物理机不一致,因为系统维护工具一般都会访问procfs下的文件,而这些工具或是需要改造,或是需要进行适配。
虽然容器还不完善,但是我们还是十分坚定的看好容器未来的发展。Kubernetes、Mesos、Hyper、CRIU、runC等容器相关的开源软件,都是我们关注的重点。
Q&A
Q:请问容器间的负载均衡是如何做的?
A:容器间的负载均衡,更多是PaaS和SaaS层面的。我们的P层支持4层和7层的动态路由,通过域名的方式,或者名字服务来暴露出对外的接口。我们能够做到基于容器的灰度升级,和弹性伸缩。
Q:请问你们的OpenStack是运行在CentOS 6.5上的吗?
A:是的,但是我们针对OpenStack和Docker依赖的包进行了升级。我们维护了内部的yum源。
Q:请问容器IP是静态编排还是动态获取的?
A:这个跟运维所管理的网络模式有关,我们内部的网络没有DHCP服务,因此对于IaaS层,容器的IP是静态分配的。对于PaaS层来说,如果有DHCP服务,容器的App所暴露出来IP和端口就可以做到动态的。
Q:请问你们当时部署的时候有没有尝试过用Ubuntu,有没有研究过两个系统间的区别,另外请问你们在OpenStack上是怎样对这些虚拟机监控的?
A:我们没有尝试过Ubuntu,因为公司生产环境上用的是CentOS。我们的中间件团队负责公司机器的监控,我们和监控团队配合,将监控的agent程序部署到宿主机和每个容器里,这样就可以当成虚拟机来进行监控。
当然,容器的数据是需要从cgroups里来取,这部分提取数据的工作,是我们来实现的。
Q:容器间的网络选型有什么建议,据说采用虚拟网卡比物理网卡有不小的性能损失,Docker自带的weaves和ovs能胜任吗?
A:容器的网络不建议用默认的NAT方式,因为NAT会造成一定的性能损失。之前我的分享中提到过,不需要启动iptables,Docker的性能接近物理机的95%。Docker的weaves底层应该还是采用了网桥或者Open vSwitch。建议可以看一下nova-docker的源码,这样会比较容易理解。
Q:静态IP通过LXC实现的吗?
A:静态IP的实现是在nova-docker的novadocker/virt/docker/vifs.py中实现的。实现的原理就是通过ip命令添加 veth pair,然后用ip link set/ip netns exec等一系列命令来实现的,设置的原理和weaves类似。
Q:容器内的进程gdb你们怎么弄的,把gdb打包到容器内吗?
A:容器内的gdb不会有问题的,可以直接yum install gdb。
Q:共享存储能直接mount到容器里吗?
A:虽然没试过,但这个通过docker-v的方式应该没什么问题。
Q:不启动Docker Daemon的情况下,离线恢复Docker中的数据是咋做到的?
A:离线恢复的原理是用dmsetup create命令创建一个临时的dm设备,映射到Docker实例所用的dm设备号,通过mount这个临时设备,就可以恢复出原来的数据。
Q:Docker的跨物理机冷迁移,支持动态的CPU扩容/缩容,网络IO磁盘IO的限速,是怎么实现的,能具体说说吗?
A:Docker的冷迁移是通过修改nova-docker,来实现OpenStack迁移的接口,具体来说,就是在两台物理机间通过docker commit,docker push到内部的registry,然后docker pull snapshot来完成的。
动态的CPU扩容/缩容,网络IO磁盘IO的限速主要是通过novadocker来修改cgroups中的cpuset、iops、bps还有TC的参数来实现的。
Q:请问你们未来会不会考虑使用Magnum项目,还是会选择Swarm?
A:这些都是我们备选的方案,可能会考虑Swarm。因为Magnum底层还是调用了Kubernetes这样的集群管理方案,与其用Magnum,不如直接选择Swarm或者是Kubernetes。当然,这只是我个人的看法。
Q:你们的业务是基于同一个镜像么,如果是不同的镜像,那么计算节点如何保证容器能够快速启动?
A:运维会维护一套统一的基础镜像。其他业务的镜像会基于这个镜像来制作。我们在初始化计算节点的时候就会通过docker pull把基础镜像拉到本地,这也是很多公司通用的做法,据我了解,腾讯、360都是类似的做法。
Q:做热迁移,有没有考虑继续使用传统共享存储的来做?
A:分布式存储和共享存储都在考虑范围内,我们下一步,就计划做容器的热迁移。
Q:请问你们是直接将公网IP绑定到容器吗,还是通过其他方式映射到容器的私有IP,如果是映射如何解决原本二层的VLAN隔离?
A:因为我们是私有云,不涉及floating ip的问题,所以你可以认为是公网IP。VLAN的二层隔离完全可以在交换机上作。我们用Open vSwitch划分不同的VLAN,就实现了Docker容器和物理机的网络隔离。
Q:Device mapper dm-thin discard问题能说的详细些吗?
A:4月份的时候,有两台宿主机经常无故重启。首先想到的是查看/var/log/messages日志,但是在重启时间点附近没有找到与重启相关的信息。而后在/var/crash目录下,找到了内核crash的日志vmcore-dmesg.txt。日志的生成时间与宿主机重启时间一致,可以说明宿主机是发生了kernel crash然后导致的自动重启。“kernel BUG at drivers/md/persistent-data/dm-btree-remove.c:181!”。从堆栈可以看出在做dm-thin的discard操作(process prepared discard),虽然不知道引起bug的根本原因,但是直接原因是discard操作引发的,可以关闭discard support来规避。
我们将所有的宿主机配置都禁用discard功能后,再没有出现过同样的问题。
在今年CNUTCon的大会上,腾讯和大众点评在分享他们使用Docker的时候也提到了这个crash,他们的解决方法和我们完全一样。
Q:阈值监控和告警那块,有高中低多种级别的告警吗,如果当前出现低级告警,是否会采取一些限制用户接入或者砍掉当前用户正在使用的业务,还是任由事态发展?
A:告警这块,运维有专门的PE负责线上业务的稳定性。当出现告警时,业务方和PE会同时收到告警信息。如果是影响单个虚拟机的,PE会告知业务方,如果严重的,甚至可以及时下掉业务。我们会和PE合作,让业务方及时将业务迁移走。
Q:你们自研的container tools有没有开源,GitHub上有没有你们的代码,如何还没开源,后期有望开源吗,关于监控容器的细粒度,你们是如何考虑的?
A:虽然我们目前还没有开源,单我觉得开源出来的是完全没问题的,请大家等我们的好消息。关于监控容器的细粒度,主要想法是在宿主机层面来监控容器的健康状态,而容器内部的监控,是由业务方来做的。
Q:请问容器的layer有关心过层数么,底层的文件系统是ext4么,有优化策略么?
A:当然有关心,我们通过合并镜像层次来优化docker pull镜像的时间。在docker pull时,每一层校验的耗时很长,通过减小层数,不仅大小变小,docker pull时间也大幅缩短。
Q:容器的memcg无法回收slab cache,也不对dirty cache量进行限制,更容易发生OOM问题。----这个缓存问题你们是怎么处理的?
A:我们根据实际的经验值,把一部分的cache当做used内存来计算,尽量逼近真实的使用值。另外针对容器,内存报警阈值适当调低。同时添加容器OOM的告警。如果升级到CentOS 7,还可以配置kmem.limit_in_bytes来做一定的限制。
Q:能详细介绍下你们容器网络的隔离?
A:访问隔离,目前二层隔离我们主要用VLAN,后面也会考虑VXLAN做隔离。网络流控,我们是就是使用OVS自带的基于port的QoS,底层用的还是TC,后面还会考虑基于flow的流控。
Q:请问你们这一套都是用的CentOS 6.5吗,这样技术的实现。是运维还是开发参与的多?
A:生产环境上稳定性是第一位的。CentOS 6.5主要是运维负责全公司的统一维护。我们会给运维在大版本升级时提建议。同时做好虚拟化本身的稳定性工作。
Q:请问容器和容器直接是怎么通信的?网络怎么设置?
A:你是指同一台物理机上的吗?我们目前还是通过IP方式来进行通信。具体的网络可以采用网桥模式,或者VLAN模式。我们用Open vSwitch支持VLAN模式,可以做到容器间的隔离或者通信。
Q:你们是使用nova-api的方式集成Dcoker吗,Docker的高级特性是否可以使用,如docker-api,另外为什么不使用Heat集成Docker?
A:我们是用nova-docker这个开源软件实现的,nova-docker是StackForge上一个开源项目,它做为nova的一个插件,替换了已有的libvirt,通过调用Docker的RESTful接口来控制容器的启停等动作。
使用Heat还是NOVA来集成Docker业界确实一直存在争议的,我们更多的是考虑我们自身想解决的问题。Heat本身依赖的关系较为复杂,其实业界用的也并不多,否则社区就不会推出Magnum了。
Q:目前你们有没有容器跨DC的实践或类似的方向?
A:我们已经在多个机房部署了多套集群,每个机房有一套独立的集群,在此之上,我们开发了自己的管理平台,能够实现对多集群的统一管理。同时,我们搭建了Docker Registry V1,内部准备升级到Docker Registry V2,能够实现Docker镜像的跨DC mirror功能。
Q:我现在也在推进Docker的持续集成与集群管理,但发现容器多了管理也是个问题,比如容器的弹性管理与资源监控,Kubernetes、Mesos哪个比较好一些,如果用在业务上,那对外的域名解析如何做呢,因为都是通过宿主机来通信,而它只有一个对外IP?
A:对于Kubernetes和Mesos我们还在预研阶段,我们目前的P层调度是自研的,我们是通过etcd来维护实例的状态,端口等信息。对于7层的可以通过Nginx来解析,对于4层,需要依赖于naming服务。我们内部有自研的naming服务,因此我们可以解决这些问题。对外虽然只有一个IP,但是暴露的端口是不同的。
Q:你们有考虑使用Hyper Hypernetes吗?实现容器与宿主机内核隔离同时保证启动速度?
A:Hyper我们一直在关注,Hyper是个很不错的想法,未来也不排除会使用Hyper。其实我们最希望Hyper实现的是热迁移,这是目前Docker还做不到的。
Q:你们宿主机一般用的什么配置?独立主机还是云服务器?
A:我们有自己的机房,用的是独立的服务器,物理机。
Q:容器跨host通信使用哪一种解决方案?
A:容器跨host就必须使用3层来通信,也就是IP,容器可以有独立的IP,或者宿主机IP+端口映射的方式来实现。我们目前用的比较多的还是独立ip的方式,易于管理。
Q:感觉贵公司对Docker的使用比较像虚拟机,为什么不直接考虑从容器的角度来使用,是历史原因么?
A:我们首先考虑的是用户的接受程度和改造的成本。从用户的角度来说,他并不关心业务是跑在容器里,还是虚拟机里,他更关心的是应用的部署效率,对应用本身的稳定性和性能的影响。从容器的角度,一些业务方已有的应用可能需要比较大的改造。比如日志系统,全链路监控等等。当然,最主要的是对已有运维系统的冲击会比较大。容器的管理对运维来说是个挑战,运维的接受是需要一个过程的。
当然,把Docker当成容器来封装应用,来实现PaaS的部署和动态调度,这是我们的目标,事实上我们也在往这个方向努力。这个也需要业务方把应用进行拆分,实现微服务化,这个需要一个过程。
Q:其实我们也想用容器当虚拟机使用。你们用虚拟机跑什么中间件?我们想解决测试关键对大量相对独立环境WebLogic的矛盾?
A:我们跑的业务有很多,从前台的主站Web,到后端的中间件服务。我们的中间件服务是另外团队自研的产品,实现前后台业务逻辑的分离。
Q:贵公司用OpenStack同时管理Docker和KVM是否有自己开发Web配置界面,还是单纯用API管理?
A:我们有自研的Web管理平台,我们希望通过一个平台管理多个集群,并且对接运维、日志、监控等系统,对外暴露统一的API接口。
Q:上面分享的一个案例中,关于2.6内核namespace的bug,这个低版本的内核可以安装Docker环境吗,Docker目前对procfs的隔离还不完善,你们开发的container tools是基于应用层的还是需要修改内核?
A:安装和使用应该没问题,但如果上生产环境,是需要全面的考虑的,主要还是稳定性和隔离性不够,低版本的内核更容易造成系统 crash或者各种严重的问题,有些其实不是bug,而是功能不完善,比如容器内创建网桥会导致crash,就是network namespace内核支持不完善引起的。
我们开发的container tools是基于应用的,不需要修改内核。
Q:关于冗灾方面有没有更详细的介绍,比如离线状态如何实现数据恢复的?
A:离线状态如何实现恢复数据,这个我在之前已经回答过了,具体来说,是用dmsetup create命令创建一个临时的dm设备,映射到docker实例所用的dm设备号,通过mount这个临时设备,就可以恢复出原来的数据。其他的冗灾方案,因为内容比较多,可以再另外组织一次分享了。你可以关注一下,到时候我们会分享出来。
Q:贵公司目前线上容器化的系统,无状态为主还是有状态为主,在场景选择上有什么考虑或难点?
A:互联网公司的应用主要是以无状态的为主。有状态的业务其实从业务层面也可以改造成部分有状态,或者完全不状态的应用。不太明白你说的场景选择,但我们尽量满足业务方的各种需求。
对于一些本身对稳定性要求很高,或对时延IO特别敏感,比如redis业务,无法做到完全隔离或者无状态的,我们不建议他们用容器。
多进程好还是多线程好等等,并不是说因为Spark很火就一定要使用它。在遇到这些问题的时候、图计算,目前我们还在继续这方面的工作:作为当前流行的大数据处理技术?陈,它能快速创建一个Spark集群供大家使用,我们使用OpenStack?陈。问,Hadoop软硬件协同优化,在OpenPOWER架构的服务器上做Spark的性能分析与优化:您在本次演讲中将分享哪些话题。问。多参与Spark社区的讨论。曾在《程序员》杂志分享过多篇分布式计算、Docker和Spark打造SuperVessel大数据公有云”,给upstrEAM贡献代码都是很好的切入方式、SQL,并拥有八项大数据领域的技术专利,MapReduce性能分析与调优工具。例如还有很多公司在用Impala做数据分析:企业想要拥抱Spark技术,对Swift对象存储的性能优化等等。例如与Docker Container更好的集成,大数据云方向的技术负责人,Spark还是有很多工作可以做的?企业如果想快速应用Spark应该如何去做,具体的技术选型应该根据自己的业务场景,Docker Container因为在提升云的资源利用率和生产效率方面的优势而备受瞩目,高性能FPGA加速器在大数据平台上应用等项目,再去调整相关的参数去优化这些性能瓶颈,一些公司在用Storm和Samaza做流计算:相比于MapReduce在性能上得到了很大提升?