1C 开发者的故事:管理员的故事

所有 1C 开发人员都以某种方式与 IT 服务并直接与系统管理员密切交互。 但这种互动并不总是顺利。 我想告诉你一些关于这件事的有趣的故事。

高速通讯通道

我们的大多数客户都是大型企业,拥有自己的大型 IT 部门。 客户专家通常负责信息数据库的备份副本。 但也有相对较小的组织。 特别是对于他们,我们提供了一项服务,根据该服务,我们承担与所有 1C 内容备份相关的所有问题。 这就是我们在这个故事中要讨论的公司。

一个新客户来支持 1C,除其他外,合同中包括一项由我们负责备份的条款,尽管他们有自己的系统管理员。 客户端-服务器数据库,MS SQL 作为 DBMS。 这是一个相当标准的情况,但还有一个细微差别:主基数相当大,但每月的增幅却很小。 也就是说,数据库包含了大量的历史数据。 考虑到这个特点,我制定的备份维护计划是这样的:每个月的第一个周六做一次完整备份,相当重,然后每天晚上做一份差异副本——体积比较小,还有一份每小时一次的事务日志。 此外,完整副本和差异副本不仅复制到网络资源,还上传到我们的 FTP 服务器。 这是提供此服务时的强制性要求。

所有这些都已成功配置、投入运行并且通常正常运行,没有出现任何故障。

但几个月后,这个组织的系统管理员发生了变化。 新的系统管理员开始按照现代趋势逐步重建公司的IT基础设施。 特别是虚拟化的出现,磁盘架,访问到处都被阻止等等,这在一般情况下当然不能不值得庆幸。 但事情并不总是一帆风顺,1C的表现经常出现问题,导致与我们的支持产生一些分歧和误解。 另外,应该指出的是,我们与他的关系总体上相当冷淡,有些紧张,一旦出现任何问题,这只会增加紧张程度。

但有一天早上发现这个客户端的服务器不可用。 我打电话给系统管理员,想了解发生了什么,得到的答复是“我们的服务器崩溃了,我们正在处理它,不取决于你。” 嗯,他们工作很好。 这意味着局势已得到控制。 午饭后,我再次打电话,从管理员的声音中我已经不再感到恼怒,而是疲倦和冷漠。 我想弄清楚发生了什么事,我们可以提供什么帮助吗? 谈话的结果如下:

他将服务器转移到一个新的存储系统,并配备了新组装的raid。 但出了点问题,几天后这次突袭安全失败了。 到底是控制器烧坏了,还是磁盘出了问题,我记不太清楚了,但所有的信息都丢失了,无法挽回。 最主要的是,在各种迁移过程中,带有备份的网络资源也最终位于同一个磁盘阵列上。 也就是说,生产数据库本身及其所有备份副本都丢失了。 现在还不清楚该怎么办。

冷静点,我说。 我们有您的夜间备份。 周围一片寂静,我意识到我刚刚救了一个人的命。 我们开始讨论如何将此副本传输到新部署的新服务器。 但这里也出现了一个问题。

还记得我说过完整备份相当大吗? 我每个月在周六这样做一次并不是没有原因的。 事实上,该公司是一家小工厂,距离城很远,网络也很一般。 到周一早上,也就是周末,这个副本才勉强上传到我们的 FTP 服务器。 但不可能等一两天才能让它以相反的方向加载。 几次尝试传输文件失败后,管理员直接从新服务器上取出了硬盘,在某处找到了一辆有司机的车,迅速赶到了我们的办公室,幸好我们还在同一个城市。

当他们站在我们的服务器机房等待文件被复制时,我们第一次见面,可以说是“面对面”,喝了一杯咖啡,并在非正式的环境中交谈。 我对他的悲痛表示同情,并带着一整套备份送他回来,匆忙恢复了公司停止的工作。

随后,我们向IT部门提出的所有要求都很快得到了解决,没有再出现任何分歧。

请联系您的系统管理员

有一次,在很长一段时间里,我无法为一个客户端发布通过 IIS 进行 Web 访问的 1C。 这似乎是一个普通的任务,但没有办法让一切运行起来。 本地系统管理员参与其中并尝试了不同的设置和配置文件。 网络上的 1C 通常不想以任何方式工作。 出了问题,要么是域安全策略,要么是本地复杂的防火墙,或者天知道还有什么问题。 在第 N 次迭代中,管理员向我发送了一个链接,其中包含以下内容:

- 使用这些说明重试。 那里对一切都进行了非常详细的描述。 如果不起作用,请写信给该网站的作者,也许他可以提供帮助。
“不,”我说,“这没有帮助。”
- Почему?
— 我是这个网站的作者...(

结果,我们在 Apache 上启动它没有任何问题。 IIS 从未被击败。

更深一层

我们有一个客户——一家小型制造企业。 他们有一台服务器,一种“经典”的三合一:终端服务器+应用程序服务器+数据库服务器。 他们在一些基于 UPP 的行业特定配置中工作,大约有 3-1 个用户,系统的性能原则上适合每个人。

随着时间的推移,一切都或多或少地稳定进行。 但随后欧洲对俄罗斯实施制裁,俄罗斯人开始主要购买国产产品,该公司的业务急剧恶化。 用户数量增加到50-60人,开设了新的分支机构,文档流量也相应增加。 而现在当前的服务器已经无法应对急剧增加的负载,正如他们所说,1C开始“放慢速度”。 在高峰时段,文档的处理时间为几分钟,出现阻塞错误,表格需要很长时间才能打开,以及所有其他一系列相关服务。 本地系统管理员对所有问题都置之不理,说道:“这是你的 1C,你会解决的。” 我们曾多次提出对系统进行性能审计,但从未涉及到审计本身。 客户只是询问如何解决问题的建议。

好吧,我坐下来写了一封相当长的信,关于需要将终端服务器和应用程序服务器与 DBMS 的角色分开(原则上,我们之前已经说过很多次了)。 我写了有关终端服务器上的 DFSS、共享内存的文章,提供了权威来源的链接,甚至建议了一些设备选项。 这封信到达了公司的掌权者手中,并带着“实施”的决议回到了 IT 部门,僵局基本上被打破了。

一段时间后,管理员向我发送新服务器的 IP 地址和登录凭据。 他说,MS SQL和1C服务器组件部署在那里,数据库需要转移,但目前只能转移到DBMS服务器,因为1C密钥出现了一些问题。

我进来了,确实,所有服务都在运行,服务器不是很强大,但是好吧,我认为有总比没有好。 我现在将转移数据库,以某种方式缓解当前服务器的压力。 我在约定的时间完成了所有的转账,但情况没有改变——仍然是同样的性能问题。 当然很奇怪,好吧,我们把数据库注册到1C集群中看看吧。

几天过去了,钥匙还没有转移。 我想知道问题是什么,一切似乎都很简单 - 将其从一台服务器中取出,插入另一台服务器,安装驱动程序,然后就完成了。 管理员的回应是大惊小怪,并说了一些有关端口转发、虚拟服务器等的内容。

嗯...虚拟服务器? 似乎从来没有任何虚拟化,也从来没有任何......我记得一个相当著名的问题,即无法将 1C 服务器密钥转发到 Windows Server 2008 中 Hyper-V 上的虚拟机。我心里开始产生一些怀疑……

我打开服务器管理器-角色-出现了一个新角色-Hyper-V。 我转到 Hyper-V 管理器,看到一台虚拟机,连接...确实...我们的新数据库服务器...

所以呢? 当局的指示和我的建议已经执行,角色已经分开。 任务可以关闭。

一段时间后,现在的危机发生了,新的分支不得不关闭,负载下降,系统性能变得或多或少可以忍受。

当然,他们无法将服务器密钥转发到虚拟机。 结果,一切都保持原样:终端服务器+1C集群在物理机上,数据库服务器在虚拟机上。

如果这是某种沙拉什金的办公室那就太好了。 所以不行。 一家知名公司,您可能知道并在所有伦塔和欧尚的相关部门见过其产品。

硬盘假期安排

一家有着雄心勃勃的计划接管世界的大型控股公司再次收购了一家小公司,目标是将其纳入其大型企业。 在该控股公司的所有部门中,用户都在自己的数据库中工作,但配置相同。 因此,我们启动了一个小项目,在该系统中包含一个新单元。

首先,需要部署生产数据库和测试数据库。 开发人员收到连接数据,登录服务器,看到安装了 MS SQL,1C 服务器,看到 2 个逻辑驱动器:容量为 250 GB 的驱动器“C”和容量为 1 TB 的驱动器“D”。 那么,“C”是系统,“D”是数据,开发人员逻辑上决定并部署所有数据库。 我什至制定了维护计划,包括备份,以防万一(尽管我们对此不负有责任)。 确实,备份已添加到“D”。 将来,计划将其重新配置为某些单独的网络资源。

项目开始了,顾问提供了如何在新系统中工作的培训,剩余的内容被转移,进行了一些小的改进,用户开始在新的信息库中工作。

一切都很顺利,直到一个星期一早上,发现数据库磁盘丢失了。 服务器上根本就没有“D”,仅此而已。

进一步调查发现:这个“服务器”实际上是本地系统管理员的工作计算机。 确实,它仍然有一个服务器操作系统。 该管理员的个人 USB 驱动器已插入服务器。 于是,管理员带着他的螺丝钉去度假了,目的是为了旅途中拍摄电影。

感谢上帝,他没有删除数据库文件并成功恢复了生产数据库。

值得注意的是,每个人都对 USB 驱动器上的系统的性能普遍感到满意。 没有人抱怨1C的表现有任何不理想的地方。 直到后来,该控股公司才开始了一个大型项目,将所有信息数据库转移到一个单一的集中站点,其中包括超级服务器、超过一百万卢布的存储系统、复杂的虚拟机管理程序以及所有分支机构中难以忍受的 1C 制动器。

但这是一个完全不同的故事...

来源: habr.com

添加评论