微信改版了,现在看到我们全凭缘分,为了不错过【全栈工程师修炼指南】重要内容及福利,大家记得按照上方步骤设置「接收文章推送」哦~
文章目录:
原文链接:
0x00 前言简述
描述: 上篇文章大致学习了解了操作系统相关概念及基础知识,然后对 Unix
、Linux
、Window Server
等不同服务器操作系统的发展历程以及相关特点进行了简单介绍,最后再针对计算机行业中的各类开源协议进行一一介绍,防止在不知不觉中侵权他人权限,由于国内越来越重视版权问题了,所以这是每一个从事计算机行业的人必须要了解的,相信大家对各类操作系统已经有了一个基本认识了吧。
此篇文章中,作者将以虚拟机(VMware WorkStation
)环境进行实践安装部署市场占比较多的三大服务器操作系统(Unix
、Linux、Windows Server), 其中前两个使用开源的 FreeBSD Unix
、Rocky Linux
操作系统,最后一个使用闭源的 Windows Server 2022
操作系统,作者通过抽取在本企业运维工作经验,针对相应的服务操作系统进行常规运维配置进行讲解与实践,让各位运维看友可以快速上手体验一下各个操作系统的不同之处,同时也为后续的运维学习提供对应的环境,希望各位看友能在此作者花费大量心血且基础的篇章有所收获吧!
温馨提示:作者当前已经开通了知识星球【@全栈工程师修炼指南
】作者十年学习笔记(涉及开发,运维,安全,物联网,设计,杂类等
)尽在其中(陆续更新),部分文章也会更新到【全栈工程师修炼指南
】公众号的【#运维从业必学】专栏中,由于作者花费大量时间进行总结归纳,所以为了尊重作者劳动成果以及防止爬虫,将此专栏设为9.9元,希望各位看友多多【点赞、转发、赞赏】支持,收获一定大于付出,并且一起学习,一起进步!
0x01 基础环境
描述: 与其他学习教程一样,在学习阶段往往是自行搭建学习、测试环境,从零开始动手实践,更能让人得收获。此处作者将使用虚拟化环境搭建部署学习实践所需的操作系统,例如(VMware,Virtualbox)等模拟硬件,方便实验灵活配置。
简单介绍
什么是虚拟?
描述: 虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件你可以在一台物理计算机上模拟出二台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作。
常见虚拟化平台工具
描述: 当前,国内常用的虚拟化平台可以大致分为VMware、RedHat、Oracle、Microsoft 公司推出的虚拟化平台工具,以及可能你在云计算中听到的云计算管理平台 Openstack。
VMWare 公司:VMware vSphere、VMware Workstation Pro、VMware Workstation Player
VMware vSphere(ESXi)
是 VMware 公司的优秀服务器虚拟化软件,VMware 公司是全球桌面到数据中心虚拟化解决方案的领导厂商,它可以使用虚拟机、容器和 Kubernetes 的任意组合以及行业领先的服务器虚拟化软件,为现代应用程序提供强大的计算环境, 个人认为VMware vSphere在服务器中是最好用的虚拟机平台,项目地址: www.vmware.com/products/vsphere.htmlVMware Workstation Pro
是 VMware 公司的优秀行业标准桌面虚拟机管理程序软件, 它可以在 Windows 或 Linux 桌面上运行 Windows、Linux 和 BSD 虚拟机, 个人认为Vmware Workstation在PC机或者工作站中是最好用的虚拟机软件,注意它是需要购买许可使用的,项目地址: www.vmware.com/cn/products/workstation-pro.htmlVMware Workstation Player
是 VMware 公司推出的免费小巧的虚拟机软件,可将其看做精简版的 VMware Workstation,它可以在 Windows 或 Linux PC 上将多个操作系统作为虚拟机轻松运行,项目地址: hwww.vmware.com/products/workstation-player.html
Oracle 公司: Virtual Box
Virtual Box
是 Oracle 公司旗下的一款免费开源功能强大的 x86 和 AMD64/Intel64 虚拟化产品,适用于企业和家庭使用, 在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。项目地址 www.virtualbox.org
Microsoft 公司:Hyper-V 、Windows Virtual PC
Windows Virtual PC
是微软公司旗下的一款虚拟化产品,是最新的 Microsoft 虚拟化技术,它可以对服务器硬件进行虚拟化,使你能够在超融合群集中的服务器上运行虚拟机。Windows 和 Windows Server 中的 hyper-v 替代了较旧的硬件虚拟化产品,如 microsoft virtual pc、microsoft virtual Server 和 Windows 虚拟 pc。项目地址: docs.microsoft.com/zh-cn/windows-server/virtualization/hyper-v/hyper-v-on-windows-serverWindows Virtual PC
是微软公司旗下产品 (只适用于Win7 - 已被Hyper-V替换),您可以使用此技术在一台计算机上同时运行多个操作系统,并且只需单击一下,便可直接在运行 Windows 7 的计算机上的虚拟 Windows 环境中运行许多生产应用程序。
Redhat 公司: KVM
KVM
全称是 Kernel-based Virtual Machine ,它是一个开源的用于基于内核的系统虚拟机,它是适用于 x86 硬件上的 Linux 的完整虚拟化解决方案,包含虚拟化扩展(Intel VT 或 AMD-V)。它由一个可加载的内核模块 kvm.ko 组成,该模块提供核心虚拟化基础架构和一个处理器特定模块 kvm-intel.ko 或 kvm-amd.ko,项目地址: https://www.linux-kvm.org
Rackspace Hosting 和 NASA 共同发布:
OpenStack
是一个开源的云计算平台,它被设计来提供在私有云和公共云中部署虚拟机和其他实例的能力,帮助用户在虚拟化的资源上运行和管理云计算平台。这些组件包括计算、存储、网络等不同的功能模块,用户可以根据需要选择相应的组件来搭建自己的云计算环境。
上述优秀的虚拟化软件往往融合了多项技术,例如,VMware workstation 是一个著名的全虚拟化VMM,但是它使用了一种被称为动态二进制翻译的技术,把对特权状态的访问访转化成为对影子状态的操作,从而避免了低效的Trap-And-Emulate
的处理方式,这与超虚拟相似只不过超虚拟化是静态的修改程序代码,对于超虚拟化而言,如果能利用硬件特性那么虚拟化,那么虚拟机的管理将会大大简化,同时还能保持较高的性能。
如何选择使用那种虚拟化平台?
针对于个人用户而言可以选择VMware Workstation Pro
、VMware Workstation Player(精简版本)
、Virtual Box
,针对于企业用户可以选择VMware vSphere(ESXi)
、Hyper-V
、KVM
等虚拟化平台。
这里,作者选择使用 VMware Workstation Pro 16
版本为后续学习提供虚拟化环境,温馨提示此版本要求主机操作系统为Windows 10 1809或更高版本,此版本支持暗模式、连接到vSphere, 并对文件读取传输性能进行改进提高,支持更大的虚拟机资源,例如,32个虚拟CPU、128 GB虚拟内存、8 GB虚拟图形内存,除此之外,虚拟XHCI控制器从USB 3.0更改为USB 3.1以支持10 Gbps。
VMware Workstation Pro 的工作原理是什么?
它可创建完全隔离、安全的虚拟机来封装操作系统及其应用。VMware 虚拟化层将物理硬件资源与虚拟机的资源一一对应,这样每个虚拟机都有了自己的 CPU、内存、硬盘和 I/O 设备,完全等同于一台标准 x86 计算机。VMware Workstation Pro 安装于主机操作系统之上,继承了主机的设备支持功能,提供全面的硬件支持。
Workstation Pro 是否支持 32 位操作系统?
Workstation Pro 要求主机 PC 采用 64 位操作系统。您仍然可以在 Workstation Pro 的虚拟机内运行自己喜欢的 32 位 Windows 和 Linux 客户机操作系统。
软件安装
描述: 在VMware软件安装包下载到本地安装前,对于家用台式、笔记本我们需要在BIOS中启用虚拟化功能,否则将会报类似于此主机支持 Intel/ADM VT-x,但 Intel/ADM VT-x处于禁用状态。
,
温馨提示:如果你有现成的VMware环境或者企业中有ESXi环境的朋友可以直接略过此小节步骤。
操作流程:
Step 1.首先,重启电脑进入BIOS中验证是否开启了虚拟化支持,当前也可以在不关机情况下执行此软件验证是否需要到BIOS中启用VT支持,若为 no 则需要进入到BIOS进行对应启用设置。
Step 2.然后,从 Workstation 16 Pro 下载页 (https://www.vmware.com/go/downloadworkstation) 选择适合操作系统的安装版本,点击Go TO Download后如果没登陆将会进入VMware登录界面,等待登录后即可下载 VMware Workstation Pro 软件,如下图2-1所示。
Step 3.最后。下载完后安装也是非常简单傻瓜式的,首先双击运行Workstation Pro安装程序,然后可能会提示您重新启动系统以完成Misrosoft VC Redistributable 安装,然后再运行此程序,直接点击下一步即可,其中安装路径我是设置的在D盘,最后点击完成即可,打开后会提示我们输入许可密钥,此时我们可以点击试用,即可免费体验功能齐全的 30 天试用版 (如需购买许可请访问 Workstation Pro 产品页,PS: 正版化,任重而道远), 最终安装完成如下图2-2所示。
温馨提示:若需要本文中的相关软件以及ISO镜像的,请关注后回复【20240320
】关键字获取。
0x02 Unix、Linux 发行版
Unix 服务器系统 FreeBSD Unix
FreeBSD 是什么?
描述: FreeBSD 是一种用于为现代服务器、台式机和嵌入式平台供电的操作系统; 三十多年来,一个大型社区不断发展它; 其先进的网络、安全和存储功能使FreeBSD成为许多最繁忙的网站和最普遍的嵌入式网络和存储设备的操作系统,官网地址:www.freebsd.org
目前 FreeBSD 分支版本以及生命周期支持时间?
Branch | Release | Release Date | Expected EoL |
---|---|---|---|
stable/14 | n/a | n/a | November 30, 2028 |
releng/14.0 | 14.0-RELEASE | November 20, 2023 | 14.1-RELEASE + 3 months |
stable/13 | n/a | n/a | January 31, 2026 |
releng/13.2 | 13.2-RELEASE | April 11, 2023 | 13.3-RELEASE + 3 months |
由上可知,目前 FreeBSD 生命周期内的版本有 14.0、13.3、13.2,通常学习测试可以采用最新的,而生产环境中选择最稳定的。
选择 FreeBSD Unix 发行版还是其它 Linux 发行版?
FreeBSD 和 众多的 Linux (例如,Rocky
)都是开源的操作系统,也是大家常常所听说的两种常见的操作系统。那么这两种系统有什么区别,各自的优缺点是什么呢?此小节将会对这两种操作系统进行对比并进行分析。Linux 发行版:
优势:开源用户可以自由地修改操作系统中的代码,成熟稳定可靠的操作系统,自动调整内存分配,安全性相较于 Windows 稍高,但是由于其开源性质更可能被发现脆弱性漏洞。
缺点:设备驱动程序需要经过维护和修复以适应新的硬件和支持用户的需求,系统更新频繁容易导致软硬件不兼容,组件独立使用不同的库和可执行二进制文件。
FreeBSD (Unix)发行版:
优势:性能要更高于Linux,提供很高的数据吞吐量和可靠的稳定性、提供完整的协议栈从而可以处理网络协议的通信和标准化过程、拥有众多的用户与参与者。
缺点:应用支持性(生态环境)有所欠缺部分软件并不能完美匹配,更新相对滞后且更新过程繁琐,由于Unix系统所以存在限制性商业协议,导致并非完全自由。
总得来说,Linux 和 FreeBSD都具有其各自的优缺点,例如,Linux系统是可以自由的,整体性良好,稳定性高,而且用法很广泛;而FreeBSD拥有较好的网络特性,可以获得高性能的处理能力,不过其在应用程序的支持性还是有一些不足。选择使用那种操作系统,将根据项目的特性和使用它的目的来选择一个合适的系统。
温馨提示:作者受限于自身能力、知识、经验,此处只是简单介绍实践 FreeBSD (Unix) 系统的安装配置,由于作者在看实际工作中常对 RedHat、CentOS、Ubuntu、KylinOS、Windows Server 等服务器操作系统运维,很少针对 FreeBSD Unix 服务器进行操作,不过思想是一致,某些软件目录与配置与Linux有相通之处,若想详细学习请参考官网文档。
快速部署
Step 1.访问 FreeBSD 官网下载地址 https://www.freebsd.org/where/ ,作为用户可自行根据安装环境及需求(平台架构、ISOs镜像类型),选择各种安装映像来安装 FreeBSD UNIX
发行版。
Architecture: 平台架构
amd64
、i386
:适用于64位、32位的平台架构CPU及操作系统(常见于个人主机、服务器等)aarch64
(ARM64) :适用于嵌入式、微端(树莓派,机械臂,机械中控)powerpc
、powerpc64
、powerpc64le
、powerpcspe
:专用于IBM Power 系列服务器。armv7
:是ARM公司的一种32位指令集架构,广泛应用于嵌入式系统、移动设备和低功耗服务器等领域riscv64
: 适用于使用精简指令集(RISC)的主机系统, 其中64位版本被称为RISC-V 64位。
Images:镜像类型
ISO
:适用于光盘安装以及USB刻录安装,其格式包括CD(disc1,可看做最小化安装包)、DVD(dvd1,全量安装包)和网络安装(仅引导)最小化镜像的ISO。VM
:适用于虚拟机环境下,使用虚拟磁盘映像安装FreeBSD操作系统。SD Card
:适用于嵌入式环境下系统的安装方式。
例如,作者为了方便大家学习FreeBSD操作系统的安装步骤,选择下载最新 amd64 架构 FreeBSD 14.0-RELEASE 精简镜像版本(1GB左右)进行部署( https://download.freebsd.org/releases/amd64/amd64/ISO-IMAGES/14.0/FreeBSD-14.0-RELEASE-amd64-disc1.iso ),而不是直接是虚拟映像文件,当然若你只是为了简单的试用一下 FreeBSD 操作系统,则建议下载并使用VM虚拟映像方式安装。
Step 2.打开 VMware Workstations 软件,首先新建虚拟机(Ctrl+N),设置步骤大致如下,选择【自定义(高级)】-> 选择【安装程序光盘映像文件】即,前面下载的最小化安装包 -> 设置【虚拟机名称以及存储位置】-> 设置【CPU处理器为一块】、【运行内存为1GB】、【磁盘容量 100G】-> 最后点击完成,如下图所示:
CPU 处理器:任何主流的 x86、AMD64 或 ARM 处理器,至少一个。
Memeroy 内存:最小为128MB,为了系统体验建议设置 256MB 内存以上。
Disk 磁盘:最小为20GB,可根据业务需要自行设置。
Step 3.点击【完成】后回到虚拟机界面,选择【编辑虚拟机设置】-> 【选项卡】-> 点击【高级】-> 将引导模式设置为【UEFI】,由于UEFI模式相比较于BIOS模式较新,更安全,所以作者通过会选择UEFI模式进行系统的引导,当然选择BIOS传统引导页没有问题。
Step 4.点击【开启此虚拟机】-> 进入到FreeBSD安装界面,选择【Boot Installer】回车即可 -> 选择【默认的 keymap】回车即可。
Step 5.设置 FreeBSD 系统主机名称、选择系统组件(System Components)、系统磁盘分区,此处选择 Manual【手动分区】回车 -> 设置分区为 GPT -> 添加 / 根分区 -> 设置容量为 98GB -> 选择【ok】-> 然后 /boot/efi 分区将会自动创建,此处处于学习使用并未单独划分 data数据分区、home 用户分区、swap分区 以及 、var 分区,若有需求添加分区流程也是上述重复即可,相信各位看友都懂得举一反三吧!
Step 6.点击【Finish】和 Commit 完成后,则会将更改写入到磁盘,并安装内核到系统磁盘中,等待全部【Done】后,进行 root 账户密码的设置,之后选择网卡并进行网络配置,这里为了后续演示设置静态IP暂时选择DHCP(自动获取),设置 DNS 与搜索域,设置时区时间,最后选择启用常见的服务,例如 sshd(安全Shell守护进程)、dumpdev(内核崩溃记录服务)。
Step 7.然后会询问是否添加用户(Add User Accounts
)来新创建普通账户,可根据需要进行跳过或者创建新用户,最后选择【Exit
】保存配置并退出安装,在显示【Complete
】界面,点击【Reboot
】即可重启系统。
Step 8.重启系统后,使用前面的root账号密码进行登录,然后启用 root 远程登录权限(若为生产服务器则不建议,开启 root 用户远程终端登录),修改/etc/ssh/sshd_config
配置文件,设置 PermitRootLogin yes
,然后重启sshd服务 service sshd restart
。
如何查看 FreeBSD 版本信息? 下面是该命令执行的输出样例:
$ freebsd-version -k # 14.0-RELEASE $ uname -mrs # FreeBSD 14.0-RELEASE amd64
至此,FreeBSD Unix 操作系统在虚拟机环境中搭建部署完毕,下面继续跟随作者来进行系统的常规配置吧!
快速配置
1.主机名称修改
使用命令或者配置文件的方式,快速设置系统主机名称。
# 永久生效(注意:FreeBSD 是没有 /etc/hostname 文件) hostname freebsd-server # 添加硬解析 tee -a /etc/hosts <<'EOF' # 新增一条硬解析记录 127.0.0.1 freebsd-server EOF # 测试配置 ping -c 1 freebsd-server
2.主机网络配置
在 FreeBSD 14上配置网络、DNS 服务器以及静态路由。
# 0.查看系统网络接口(即:网卡名称) ifconfig | grep "flag" | cut -f 1 -d ":" em0 lo0 # 1.打开终端并以root权限登录系统,使用 ee 命令编辑网络配置文件/etc/rc.conf ee /etc/rc.conf # DHCP (即:自动获取) ifconfig_em0="DHCP" ifconfig_em0_ipv6="inet6 accept_rtadv" # STATIC (即:静态IP) ifconfig_em0="inet 192.168.228.130 netmask 255.255.255.0" defaultrouter="192.168.228.2" ifconfig_em0_ipv6="inet6 fe80::20c:29ff:fe12:4c4e%em0 prefixlen 64" ipv6_defaultrouter="fe80::%em0/64" # 2.按ESE,选择两次A则保存并关闭/etc/rc.conf文件。 # 3.重启网络服务以使更改生效。 service netif restart # 4.验证网络接口以及检查网络接口配置 ifconfig em0 netstat -rn # IPV4/IPV6 路由表 netstat -rn -f inet6 # IPV6 路由表 # 5.编辑 DNS 配置 /etc/resolv.conf 文件 tee /etc/resolv.conf <<'EOF' search localdomain # 内部搭建的DNS服务器 nameserver 192.168.10.254 nameserver 223.6.6.6 EOF
温馨提示:若想快速为企业搭建一个内部私有DNS服务器,可以选择 bind9 或者 CoreDNS 工具,恰好这两种方式作者实践过,有兴趣的看友可以参考下述两篇文章。
3.主机镜像pkg源配置