这个问题有点牵强。我所在的公司从 1962 年就成立了,从事编程工作。很多东西,尤其是计算机/网络的东西,都很过时了。让我再介绍一下背景。
该公司已经运行了 Windows 服务器。在服务器上,许多计算机在共享网络驱动器中都有文件,还有一些程序。这就是公司范围内授予对会计和库存等内容的访问权限以及共享文件的方式。不幸的是,在任何设计中都没有强大的系统管理员发挥作用。会计系统在 Foxpro 上运行。文件完全混乱。员工似乎总体上知道如何操作,但为了成长和扩大规模,我们需要快速掌握这个网络。我认为需要的一些事情:
- 可通过网络上的所有计算机访问的关系数据库,它将存储:
- 文件(即图纸、报价、已完成项目的图片等)
- 员工(然后我们可以开始进行诸如计算机化时间卡输入之类的工作)
- 发票、应收款项和库存
- 密码管理
- 工作追踪
我想在这个数据库之上构建自定义应用程序来支持一切,并构建允许我们的网站与我们内部内容交互的 API。显然,在构建新系统时,我必须保持现有系统的完整性。我有网络背景……并且非常熟悉 Unix(我管理过数十台为网站提供服务的服务器)、PHP 和前端开发。我想坚持使用我已经熟悉的那些开源技术。
我心中最大的疑问是从哪里开始。我是否应该购买服务器机架并开始构建一个全新的网络?我是否应该在准备就绪后让每个人都使用新网络,还是尝试以某种方式同时使用两个网络并慢慢地从旧网络迁移出去?
我意识到这个项目可能需要一年甚至更长时间。我非常希望得到一些指导 - 任何有关系统设计的资源,如何开始,等等。我愿意投入工作 - 我只是需要帮助来创造愿景。
答案1
请不要对此生气,但我强烈建议您聘请一家专门从事系统和网络管理的本地 IT 咨询公司。很久以前,我也从事编程工作,在管理网络服务器环境方面学到了很多惨痛的教训。多年来,我(幸运的是)得到了很多导师和帮助,因为如果没有他们,谁知道会留下什么样的残骸。
现在回到你最初的问题:我发现了两个错误,一个是 Linux:不要误会我的意思,我喜欢 Linux 并在各种不同的角色中使用它,但作为一家小公司中唯一的服务器(再次强调,没有冒犯的意思)没有全职系统管理员,这很麻烦。找到称职的 Linux 管理员(找到遵循最佳实践的管理员就更难了)并不容易。以后,如果你离开或雇用新人接替你的职责,谁来照顾它?
假设您的最终用户数少于 75 人,我强烈建议在可靠的一级硬件(如戴尔、惠普、IBM)上使用 Microsoft Small Business Server 2011 Standard,并提供 3 年现场/4 小时更换保修。至少为数据准备一个 RAID 1 镜像阵列(如果经济条件允许,还为系统准备另一个)。至少准备 8GB 内存,最好是 12GB。投资离线/异地备份:您可以从几个外部驱动器或磁带驱动器开始,但最好每晚都将其带到异地。
我也不赞同你关于定制“一体化”数据库的建议:市面上有太多更好、更可行的软件选项,除非你有一些只有定制解决方案才能满足的非常具体的细分需求,否则使用得到良好支持的第三方产品会更好。你必须抵制“我可以写一些东西”的程序员冲动,并考虑长期支持这个解决方案。
最后,我认为你和你的雇主需要决定你在这家公司的角色。听起来你是新来的,虽然你说得对,但他们确实需要升级他们的系统,但你不想承担超出自己能力范围的任务,无法提供你被雇佣来这里做的一切。
编辑
目前有很多种意见,所以我将退一步思考,希望提供一些与平台无关的建议,无论你最终选择哪种方式,这些建议都会对你有用:
对所有系统和设备进行完整的盘点;检查硬件的保修状态(如果是戴尔、IBM 等,您应该能够使用服务标签来获得保修检查;如果是白盒服务器,他们可能仍然有某种标识符,但您必须打电话来了解最有可能的状态)。
对数据进行全面盘点:不要相信他们的 C: 驱动器上没有数据;他们可能有,实际上他们可能在旧邮件的各个位置都有 PST 文件。找出哪些是关键的、哪些正在备份、哪些没有备份、如何备份以及是否有任何内容被带离现场。首先解决这个问题。现在就解决。如果他们没有备份设置,请立即去 Big Box 商店购买外部 USB 驱动器并使用 NTBackup(它可能已经在该服务器上)进行完整备份并将其带离现场。如果他们有备份,请进行测试恢复(见下文)。
检查所有系统上的补丁级别(首先解决#2!):不仅仅是 Windows 更新,而且特别是 Java 和所有 Adobe 产品,并进行相应更新(可能需要先做#4,这样您就知道哪些机器的优先级高于其他机器。例如,兼职员工的工作站比发放薪水的会计更能承受拙劣的更新)。
与用户交流:了解哪些方面运行良好,哪些方面运行不佳,了解每个人对变化的容忍程度、他们对 IT 的适应程度(您可能正在招募一名助手来整理事情),以及他们可能有的任何愿望清单。了解他们的业务流程;作为系统管理员,您的首要任务应该是确保业务运行所依赖的系统正常运行,而要做到这一点,您需要知道每个人如何使用这些系统。
完成第 1 步后,您应该对网络设置有所了解。查找可以替换的任何旧集线器;您需要至少在所有交换机上都使用 10/100。检查防火墙/路由器(确保有),检查是否有任何开放的 Wi-Fi 接入点等。
如果您确实要选择 Linux 路线,请坚持使用社区支持良好的发行版(Ubuntu 是一个不错的选择),并将其安装在您能负担得起的任何硬件上(如您所知,LAMP 盒现在可能是租赁的 P4 工作站),并尽可能与当前正在运行的系统隔离。作为一项学习练习(并且可以在灾难恢复场景中获得巨大的回报),首先尝试让当前服务器上运行的核心应用程序在另一个 Windows 机器上运行 - 使用您在 #2 中创建的完整备份进行测试恢复;玩得开心 :)
至于您的测试设置,您可以选择购买具有大量 RAM 的强大设备,然后进行虚拟化(ESXi 是免费的,XenServer 也是免费的,VirtualBox 也是免费的),但如果当前服务器是 Windows 2003 或更早版本,您很可能可以让 FoxPro 应用程序在租期满后的 Windows XP 工作站上以低廉的价格运行。
现在,你可以为自己鼓掌了;你现在有了很好的备份;你还进行了测试恢复,现在对一切如何协同工作有了更好的理解。你还可能有一个(很长的)优先待办事项列表,这将使你在可预见的未来忙碌不已。
哦,当一切都完成后,你现在有了一个测试环境,你可以开始构建你的乌托邦“梦想”系统……或者也许去度个假:)
答案2
虽然我通常更喜欢在服务器端使用 Linux,但这绝对不是这种情况。坚持使用 Windows,您将永远不会知道使用 POSIX ACL 管理 Windows 权限的可怕之处。不要将文件转储到数据库中,这样您的备份将容易得多。构建一个干净的 Active Directory 环境,您将有时间享受漫长的午餐,而不是每次用户忘记密码时都在十几个地方更改密码。
您实际上正在尝试重新发明各种轮子:
- 数据库中的文件 - SharePoint。
- 员工时间跟踪——可能有一百种不同的软件产品可以做到这一点。
- 密码 - Active Directory(任何有自尊心的软件产品都会通过 AD 进行身份验证)
- 会计——Great Plains 或类似机构。
而且我向你保证,如果你尝试从头开始编写所有内容,你的公司将损失更多金钱,你的用户会讨厌你,并且你的工作保障也会严重降低。
答案3
我想等一会儿看看其他人的回答,但从你的问题和回复中我了解到的情况来看,我很难证明构建服务器基础设施是合理的。我会看看 Office 365 小型企业解决方案 (http://www.microsoft.com/en-us/office365/online-software.aspx) 听起来这正是您所需要的。您没有 Windows 服务器管理经验,但显然熟悉使用 MS 产品。对于您想要完成的所有数据库任务,您都可以使用 sharepoint(您还可以获得 MS acess online 以满足那些简单但自定义的需求)每位用户的费用从 6 美元起。如果您希望使用 dynamix great plains,那么托管解决方案中也可以提供该解决方案(这是谷歌挑选的一个解决方案 -http://www.mygpcloud.com/accounting-solutions/business-essentials.aspx)。
简而言之,我真的认为,对于一个没有太多专业知识的小企业来说,证明拥有自己的基础设施所需的费用是困难的。
更新:
这个问题一直困扰着我,最后我才明白,您是在寻求解决技术问题,而不是着眼于业务问题。例如,您在原始帖子中提到您想将文件存储在数据库中。为什么?这样做有业务原因吗?文件共享出了什么问题?我认为,在考虑平台和软件选择等问题之前,先看看业务需求并评估每组需求的潜在解决方案是有意义的。
答案4
如果我是你,我会从小事做起,逐步做出改进,这不仅花费时间,而且不花费任何成本。
十多年前,我做过类似的事情。虽然我们一开始只有 7 名员工,但发展到顶峰时有 30 多名员工。当时没有 IT 系统,所以我把它整合起来。
我当时安装并维护的系统(除了最近的所有升级)至今仍在使用,公司仍在运营。有一段时间,一切都是 Linux,但主要是因为我们买不起 Windows 服务器。
现在它是带有 AD 和内部 DNS 的 Windows 服务器,用于为本地打印机等提供解析。路由器/防火墙实际上是 freebsd,用于执行邮件扫描等,尽管您可以使用 pfsense 或更少的程序。
顺便说一句,Linux 很棒,但 Samba 却很麻烦,即使配置正确并正常工作,其性能也远不如 Windows Server!当时,缺少一些重要功能,我相信现在仍然如此。所以帮自己一个忙,使用 Windows Server。
除非真的需要,否则不要升级会计系统。不要修复没有损坏的东西。它能满足公司的需求吗?如果不能,请考虑升级到其他系统。
组织文件只是提供一些共享和事物的管理,并教人们把东西放在哪里。它可能只是一个手动过程。不要把它们放在数据库中,你会后悔的。有了数据库,备份和恢复就变得困难了。如果你丢失了一个文件,只想恢复包含该文件的单个记录,该怎么办?同时你添加了其他记录……现在你需要合并才能找回一个文件,真讨厌!