Windows Server 2016 笔记
从业界普遍实践结果来看,Windows Server在服务器领域真是不太好用。但是,有些时候由于种种原因不得不用,所以还是有必要了解一下的。今天参加了一个Windows Server的培训,主要面对Windows Server 2016,写下这篇博客备忘。
一、激活
请使用正版软件!根据商业的规则,只要是用了Windows 的操作系统就要购买授权并激活。
常用的激活方式有MAK、KMS、OEM等。MAK一个可以激活500台主机。
查看激活情况的命令。
命令 | 用途 |
---|---|
slmgr /dli | 查看激活方式 |
slmgr /rearm | 延长30天。给不能马上激活的机器增加30天的缓冲时间。 |
二、批量部署
linux的批量部署用kickstart,Windows Server使用WDS(Windows Deployment Services)、SCCM(System Center Configuration Manager)等。他们的原理是类似的,几乎所有批量部署的技术都是类似的。
- 被部署的服务器没有操作系统,需要 预启动执行环境(Preboot eXecution Environment,PXE),提供了一种使用网络接口启动计算机的机制。
- 使用网络就必须有IP地址才行,所以必须要有一台DHCP服务器来给被部署的服务器分配IP地址。
- 必须要有一个TFTP Server来提供安装文件的下载。
- 必须要有一个PXE Server进行引导。
三、配置网络
3.1、TCP/IP协议族
先复习一下TCP/IP协议族
网络分层 | TCP/IP协议族 |
---|---|
应用层 | HTTP、FTP、SMTP、POP3、DNS、SNMP |
传输层 | TCP、UDP |
网络层 | IPv4、IPv6、ICMP(ping)、IGMP、ARP |
数据链路层 | Ethernet、Wi-fi等 |
3.2、IPv4
再复习一下IPv4网络。IPv4协议里面,一个IP地址是32位二进制数,一般写成点分十进制形式。
IPv4的网络划分网段,用子网掩码进行区分,IP地址和子网掩码与操作得到网络地址,IP地址和子网掩码取反与操作得到主机地址。同一个网段内不同IP地址的机器之间不需要路由器,不同网段机器之间通信需要路由器。
去路由器需要网关,一台主机配置一个默认网关。如果配置多个网关,要写主机路由表来指定从哪个网关出去。使用route print命令可以查看当前主机路由表的配置情况。
公有IP地址。公有IP地址是全球唯一的,被指派给直接连接到互联网的设备,他们可以在互联网上路由。
私有IP地址。IPv4地址划分为ABCDE类,其中A、B、C类IP地址里面都有私有IP地址,私有IP地址是不能在互联网里面路由的,可以在企业内部指派。根据企业内部网络的规模选用 A、B、C类IP地址。
私有IP地址 | 网络地址 |
A类 | 10.0.0.0/8 |
B类 | 172.16.0.0/12 |
C类 | 192.168.0.0/16 |
其他被保留的IPv4地址。一个是127.0.0.0/8地址,是回环地址,ping回环地址可以检查主机的TCP/IP协议是否安装成功。另一个是169.254.0.0/16,当通过DHCP获得的IP地址续租失败,那么IP地址就会变为169.254.0.0/16。
3.3、DHCP
DHCP一般给一个网段分配IP地址,主机网段内所有机器广播,DHCP服务器收到后给主机分配IP地址。
DHCP也可以开启Relay中继功能,来给其他网段的主机分配IP地址。其他网段的主机通过广播发给路由,路由发现是DHCP的内容,再单播路由给DHCP服务器,DHCP服务器再将IP地址分发给路由,路由再递给主机。
3.4、网络工具
命令 | 选项 | 用途 |
---|---|---|
ipconfig | /all | 显示所有IP信息,包括网关、物理地址等 |
/release | 释放DHCP分发的IP地址 | |
/renew | 重新向DHCP申请IP地址 | |
/displaydns | 显示DNS信息,查看的是本地缓存的DNS信息 | |
/flushdns | 清楚DNS缓存 | |
ping | 就是ping咯 | |
nslookup | www.baidu.com | 测试名称解析,可以看到真正的域名 |
nslookup | 交互式 | 比如进入交互界面后 比如 set type=mx 来查邮件服务器 再输入域名,就查看这个域下的邮件服务器 |
telnet | telnet IP port 知道地址之后就可以telnet查看开了哪些端口 | |
powershell | 查看https://www.powershellgallery.com/来获取powershell脚本,非常全面,不需要自己从头编写脚本 |
3.5、IPv6
IPv6地址是128位二进制数,写成32位十六进制数。其他略。
四、配置防火墙
一般在Internet、外围网络、内部网络三者之间会配置硬件防火墙,也就是External、Internal防火墙。Windows Server配置的是主机防火墙。一般配置入栈规则限制外部访问,如果要限制员工行为也可以配置出栈规则。
防火墙规则基于协议、端口,作用域来显示IP地址。
记住命令gpupdate用来刷新安全策略。选项有/force强制刷新,/Target:{Computer | User}指定只有用户或计算机策略设置更新。
五、配置存储
5.1、存储分类
- 本地存储——硬盘
- 集中式存储——存储服务器
- 分布式存储——华为fusion、VMware的vSAN等
- 云存储——OneDrive等
5.2、Windows Server 2016 支持的卷
- 简单卷,一块盘,不提高IO性能,无容错。
- 跨区卷,多个盘划分来组成一个卷,各个盘可以划分不一样大小,不提高IO性能,无容错。
- 条带卷,也就是RAID-0,两块盘等大小,提高IO性能,无容错。
- 镜像卷,也就是RAID-1,两块盘等大小,有容错,使用率降低。
- RAID-5,在RAID-0基础上增加校验盘而来,保证了RAID-0的提高IO性能,也有容错功能,一块盘损坏可以用校验盘恢复数据。盘越多使用率越高。
六、监控与优化
任务管理器、性能监视器perfmon、资源监视器resmon等。控制面板里面搜索“可靠”,查看可靠性历史分析。
性能监视器要监视的内容。
优化方向
- Windows 服务——不是所有服务都有开启的必要
- 启动项——是否有必要开机启动,启动的脚本是否合适
- 应用程序
- 磁盘整理
- 电源管理——设置为高性能
- 性能特效——关闭特效以提高性能,计算机右键-属性-高级-性能-设置-视觉效果-设置为最佳性能
- 性能日志——使用perfmon、resmon等工具监控
- 虚拟内存——分页文件
- 禁用 Windows Defender ——有自己的杀毒软件、配置了WSUS更新就禁用Windows Defender以提高性能
- 禁用 IPv6——慎重禁用,没有使用IPv6就禁用,像Exchange这种使用了IPv6的就不能禁用
- 应用角度——检查域下发的策略是否有问题?
七、事件日志
八、未完待续
相关文章:

(办公)网页发送到桌面快捷方式怎么做
转载自百度:https://jingyan.baidu.com/article/f79b7cb303d50a9145023e6e.html 有时候一个网页我们需要经常用到,每次找那个需要的网页很耗时间,那么我们怎么把我们需要的网页发送到桌面快捷方式呢? 这样下次我们直接点击桌面上的快捷方式就…

C++程序编译过程
程序编译的过程,是将源代码转换为计算机可执行的机械语言的过程。分为预处理、编译、汇编、链接四步。 (1)预处理:对程序进行预处理,比如将头文件的代码直接赋值到当前代码中等等. (2)编译&am…

Java的注释(详细版)
注释是对代码进行必要的说明,以便于后期的修改、维护和升级。Java的注释分为三种:第一种是**单行注释**:用双斜杠“//”来进行实例://单行注释第二种是**文档注释**:用斜杠“/”和星号“*”来进行实例:/***…

Hadoop的存储架构介绍
http://lxw1234.com/archives/2016/04/638.htm 该文章介绍了Hadoop的架构原理,简单易懂。 目前公司提供Hadoop的运算集群BMR,可以直接申请集群资源。转载于:https://www.cnblogs.com/blog-of-Fourier/p/6809811.html

编译OpenSSH8.4的RPM包及升级
目录 一、安装相关依赖包 二、创建rpmbuild目录并下载源码 三、打包及排错 四、升级到OpenSSH 8.4p1 以下是打包好的OpenSSH 8.4p1,包括7个rpm包,欢迎下载使用。 OpenSSH-8.4p1-Bundle 一、安装相关依赖包 根据以往经验,需要安装wget、…

centos 系统使用verdaccio搭建npm私库
.安装nodejs yum install -y nodejs 2.安装verdaccio npm install -g verdaccio --unsafe-perm 3.配置 a.修改配置文件 config.yaml,在其最后添加监听端口(使其可在外网访问) listen: 0.0.0.0:4873 b.对外开放4873端口 firewall-cmd --state …

视觉SLAM中PNP求解
PNP(Perspective-n-points)是SLAM中估计位姿的重要方法。已知条件为路标点在相机1中的相机坐标以及投影到相机2中的像素坐标,据此去估计相机1、相机2间的位姿。主要解法包括DLT、P3P、EPNP P3P 已知A、B、C在相机1坐标系下的坐标࿰…

Java程序的运行原理 用记事本编写Java代码
首先将Java代码写入源文件(.java)中→ 通过 javac 生成class文件(.class) → 再通过java命令执行程序:◆将class文件加载内存(相当于将东西输入大脑)◆检验class文件(大脑检查是否有语法等错误,若无误)◆将…

Linux下修改mysql的root密码后数据库消失怎么处理
Linux系统下如果没有通过password()函数修改mysql的root密码就会导致mysql数据库消失。有些人可能不知道而直接修改了mysql的root密码,于是产生了mysql数据库消失的问题,这个时候该怎么处理呢? 可以用下面的办法解决&a…

编译httpd-2.4.46的RPM包
目录 一、下载源码 二、编译&排错 2.1、第一次编译,解决依赖包问题。 2.2、第二次编译,解决anaconda导致的环境变量问题 2.3、第三次编译,解决apr版本过低问题 提供 apr-1.7.0、httpd-2.4.46 的RPM包下载。 apr-1.7.0-bundle.zip …

C/s模式B/S模式
C/s模式:是客户端/服务器(Client/Server)模式,主要指的是传统的桌面级的应用程序。比如我们经常用的信息管理系统。 C/S 客户端/服务器 例如QQ,网络游戏,需要下载客户端才能访问服务器的程序 B/S 浏览器/服务器 例如Intel…

分割catalina.out 每天生成一个文件
1. touch xxx(文件名字).sh 2. vim xxx.sh 写入 ----------------------- #!/bin/shcd dirname $0pwdddate %Y%m%dd7date -d7 day ago %Y%m%dcd ../logs/cp catalina.out catalina.out.${d}cat /dev/null > catalina.outrm -rf catalina.out.${d7} ----------…

、|| 和 、| 的区别(详尽版)
&&和|| 是逻辑运算符(也包括 !) 逻辑运算符含义&&逻辑与(两者为真才为真,一者为假即为假)︱︱逻辑或(两者为假才为假,一者为真即为真)!逻辑非(本来值的…

C++负数、小数如何保存
负整数 正整数直接按照源码存储,负整数按照补码存储。 原码、反码、补码 首先要清楚原码、反码、补码: 计算机中一个字节为8位,在此以一个字节为例: 原码: 十进制1:0000 0001 十进制-1:1000 …

MySQL00-这都不知道还TM学啥MySQL
目录 一、MySQL架构概述 1.1、客户端连接器 1.2、连接层 1.3、可插拔存储引擎 1.4、文件系统与文件 二、配置文件 三、数据文件 四、日志文件(以MySQL5.7.32为例) 4.1、错误日志 Error Log 4.2、一般查询日志 General Query Log 4.3、二进制日…

ORB_SLAM2 PnPSolver
EPNP:已知4组(默认)3D-2D匹配点,构建参考点,通过计算参考点的相机坐标,线性组合成路标点的相机坐标。然后使用ICP估计相机间的位姿变换。 需要注意的事,EPNP可以同时使用N组路标点构建M矩阵…

iOS开发UI篇—多控制器和导航控制器简单介绍
iOS开发UI篇—多控制器和导航控制器简单介绍 一、多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单。当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个view时,可以用一个大的view去管理1个或者多个小view,控制器也是如…

值传递 和 地址传递 的区别(好多句话才可以说清)
要知道什么是**值传递**和**地址传递**,首先要知道什么是**基本数据类型**和**引用类型**。 Java的基本数据类型就八种(除了这八种之外都是引用类型):◆整型:byte(8位) short(16位) int(32位) long(64位)࿱…

日期类的时间从为什么是从1970年1月1日(格林威治时间)
I suspect that Java was born and raised on a UNIX system.UNIX considers the epoch (when did time begin) to be midnight, January 1, 1970.是说java起源于UNIX系统,而UNIX认为1970年1月1日0点是时间纪元. 但这依然没很好的解释"为什么",出于好奇&a…

MySQL从5.7.32升级到8.0.22
目录 一、备份与导出数据 二、升级到MySQL-8.0.22同时解决字符集问题 2.1、卸载MySQL-5.7.32 2.2、安装MySQL-8.0.22 2.3、修改配置文件 my.cnf 三、导入数据及配置 3.1、重新创建数据库wordpress 3.2、导入表结构和数据 3.3、启动httpd 今天,贫僧的个人博客…

50个顶级开源营销应用程序
显然,开源营销应用程序占有一席之地。如今,营销部门负责相当大比例的企业应用程序购买和部署决策。事实上,Gartner预测,到2017年,首席营销官(CMO)将比首席信息官(CIO)在I…

C++乘法的int越界问题
在做Leetcode 69. x 的平方根,出现了两种int越界的情况: 整数相乘越界 if(mid * mid < x)这样写的话,mid * mid可能越界,因此可以改为 if(mid < x/mid)整数本身越界 int n_r x;Leetcode给了个例子,x 21474…

C# DataSet与DataTable的区别和用法
DataSet是数据集,DataTable是数据表,DataSet存储多个DataTable。DataSet和DataTable像是专门存储数据的一个容器,在你查询数据库得到一些结果时可以存在里面。 DataSet功能强大有浏览、排序、搜索、过滤、处理分级数据、缓存更改等功能&#…

Java代码块总结(速读版)
**代码块必须直接定义在类中**,有两种:静态代码块 和 非静态代码块 静态代码块是在类(class文件)加载内存时执行,而非静态代码块是在创建对象(new 类名();)时执行。public class Test{static{ …

matplotlib01-plot折线图、scatter散点图
目录 一、plot绘制折线图一般用法 二、scatter绘制散点图一般用法 记录一下数据可视化的python库matplotlib,研究并纪录一下。 matplotlib.pyplot.subplots函数。subplots可以绘制一个或多个图表。返回变量fig表示整张图片,变量ax表示图片中的各个图表…

C++const关键字作用
修饰普通变量,表示不可修改(在定义的时候必须初始化) #include <iostream> using namespace std; const int a1 10; int main() {const int a3; // 错误,没有初始化const int a2 10;a1 10; // 错误,不可修…

系统设计规范化攻克了什么问题
系统设计规范化攻克了什么问题(一) 大家好,今天总结下我从事开发工作这几年里,对于项目规范化的一点想法和感触. 在笔者心里,规范是为了解决这个问题而存在的,某些规范都是为了相应问题而存在的.所以仅仅要是能解决这个问题的文档,声明都是规范. 在某时開始设计系统,带人做系统…

五分钟让你了解 Java方法(或者叫函数)
Java方法(函数)的形式如下: 访问权限 [修饰符] 返回值类型 方法名([参数列表]){方法体 } 访问权限:控制方法(函数)能否在其他“类”中使用有public(可以在其他类中使用),protected,private(只能在该类中使用…

Bootstrap笔记
Bootstrap使用: 下载Bootstrap,用于生产环境的 Bootstrap不需要安装解压文件到任意目录创建index.html,在该页面编写代码页面起始位置添加<link rel"stylesheet" href"解压文件中css/bootstrap.min.css的路径"/>转…

Apache2.4.x下proxy_module、proxy_fcgi_module结合PHP-FPM解决内存不足问题
目录 一、背景 二、问题 三、解决方案 一、背景 最近对贫僧的个人页https://stackoperator.top进行升级,将Apache升级到2.4.46,PHP升级到7.4.15。升级后没啥问题,但是第二天却宕机了。经过查证是内存不足,导致mysql服务宕机了…