VDI中的OU、Group和策略

VDI中的桌面配置、调优、个性化定制等,一定绕不开策略,这是因为我们通常使用的是Windows的桌面OS决定的。

Windows计算机本身就有计算机策略和用户策略,加入了AD域之后,还多了组策略,用于批量设置。

策略内容分析

要配置的策略大概有以下几种类型。

一、系统优化刚需

  • Profile策略
  • 计算机策略
  • 用户策略
  • 个性化应用策略(如特定应用可能需要定时器)

二、重定向

  • OS中本身可配置重定向的(桌面/文档/收藏/下载……)

三、网盘

  • Homedata(网盘)

第一类刚需策略通常在Ad中通过组策略调整。

重点讨论第二类和第三类需求。它们产生的原因,是来自于项目中架构设计中的决定——把一部分数据存储到nas网络路径。

 也有项目使用本地San,而不是重定向到Nas的方式。
 重定向到Nas的好处是和操作系统的解耦程度更高,并可通过存储提供一些额外功能(快照,重删等),缺点是后续的迁移不灵活。

基于OU或Group发策略

标准配置方式通常如下图所示。

image-20211117095132273

我们知道,要先在AD上的组策略管理器中创建组策略对象(Group Policy Object,GPO),然后把它链接到相应的OU,才会起效。

同时组策略的生效有优先级的关系。首先是域策略优先级高于本地计算机策略,其次,层级越具体,加载顺序越靠后,也就是生效概率越高。比如,图中,如果gpoAgpo甲中冲突的地方,那么gpo甲中的相应设置会生效。

以上是我们最经典、最常见的配置方式,它选择了使用组织结构这个顺序来组织、罗列出所有的Ad用户,符合人的思考逻辑顺序。我们运维中找部门人员、或检查GPO等,自然而然会这样一层层展开OU找。把GPO按需配置在合适的深度,有利于测试和排错。

在链接的时候,AD有安全筛选组功能。有了安全组——我们可以进行更灵活的配置。

image-20211117135714178

AD中的组(Group)允许我们选用任意的维度来挑选一批用户,尽管它不像OU那样有可视化的树形结构图,但在灵活性方面却无疑有极大的优势,很像各类软件中常见的标签功能。

以VDI项目设计为例,我们给用户分配桌面、分发应用、管理网络权限等等,都需要用到Group,这是满足不同维度的需求所需要依赖的工具。

那么,在链接GPO时,用上安全筛选组的功能,会怎么样呢?我的理解是,除非我们出于特定的管理需要,或者想要变更默认的GPO生效顺序,才可能会用到这个功能。让我们根据下图来说。

image-20211117142409444

这次,gpo甲、乙、丙都被链接到了公司这个OU,同时添加了安全筛选组。gpo甲中关联的安全组,其成员就是小组甲OU下的3名用户。同理,gpo乙对应小组乙下的用户,gpo丙对应小组丙下的用户。

这种设置,同样可以让gpo中定义的策略生效到希望生效的用户上。但是,GPO甲、乙、丙的作用位置发生了改变,尤其是和gpoA的顺序关系完全相反。

我认为,除非是这是一种特别的设计,否则并没有必要这么做,因为降低了直观性,但没有明显的收益。

结合VDI软件的实战应用

理论上,全部通过AD的组策略来做VDI的优化VDI软件,但它的效果不足够好。VDI软件厂商,如Citrix、Vmware有自己的管理策略的解决方案产品,于是,我们经常在实战中把微软的工具和VDI软件自带的工具结合起来使用。

下面以Horizon DEM举例。

image-20211117153455292

左边的这些都是DEM常见的策略配置项目,选中一条,点Edit,选中Condition选项卡,点Add,如下图。

image-20211117153646062

可以看到有非常多可以选择的字段,我们在DC上绝没有这么多的选择。其中就有基于OU的,也有基于Group的。

现在,我们的武器库中有了两种兵器。一个是原生的AD系统在Domain Controller中自带的管理工具,一个是VDI软件提供的解决方案。后者相当于是增强型外挂,虽不能完全取代原生工具,但也有独特优势。

具体落实到项目,关于重定向和网盘需求,好几种排列组合我都见过。它们只是工具选择上有区分,对运维方式有影响,效果则没有明显区别。

桌面/文档/下载……H盘
group @ Dem方案1未测
ou @ Dem方案2未测
ou @ DC方案3方案1、方案2、方案3

另外,有时在实际环境中调试可能出现不兼容,另一种手段就是变通之法。

发表在 IT技术 | 标签为 , , , | 留下评论

Ad域控及策略问题排查新手工具包

背景

在企业生产中,微软的活动目录Ad(Active Directory)非常普遍,往往是IT应用的基石。

如果AD规模较大,结构复杂,如包含站点、权限、父子域、信任域等设计时,很可能会出现在PoC环境或简单生产环境中不容易碰到的问题现象。这时,难免需要一些常用的工具/方法来诊断问题。

原来隐约记得一些,最近和AD维保合作伙伴看问题时,又接触了些新的,一起记录下来备忘,以后大概率还能派上用场。

1 域控制器安装/删除

1.1 AD域的大小

将一台server提升为域控是常规操作,有个小Tip是可以观察到域的全部信息的文件大小。

如果域的环境较大,这个文件大小可以帮助判断复制全部域信息需要的时间。

位置在C:\windows\NTDS文件夹下。

注意,新的域控升级完成后,文件的大小和做之前从其它域控上看的可能是有差异的。我的实际经验是新域控上看到的会小一些。

1.2 域控制器强制删除

正常情况下AD域控是可以降级的。按正常过程如果降级失败,域中会产生残留信息,也就是所谓的脏数据。

此时,可以使用Ntdsutil工具进行服务器元数据的清理,需要在林中正常存活的控制器上操作,如下。

\1. 以管理员身份打开命令提示符:在 “开始” 菜单上,右键单击 “命令提示符”,然后单击 “以 管理员身份运行”。 如果出现 “用户帐户控制” 对话框,请提供 Enterprise 管理员的凭据(如果需要),然后单击 “继续”。

\2. 在命令提示符下,键入以下命令,然后按 Enter:

ntdsutil

\3. 在 ntdsutil: 提示符下,键入以下命令,然后按 Enter:

ntdsutil: metadata cleanup

\4. 在 metadata cleanup: 提示符下,键入以下命令,然后按 Enter:

metadata cleanup: remove selected server <ServerName>

\5. 在 ” 服务器删除配置” 对话框 中,查看信息和警告,然后单击 “是” 以删除服务器对象和元数据。

此时,Ntdsutil 确认已成功删除域控制器。 如果收到一条错误消息,指出找不到该对象,则可能已在之前删除域控制器。

\6. 在 metadata cleanup: 并 ntdsutil: 提示时,键入 quit ,然后按 enter,确认删除域控制器。

metadata cleanup: quit

ntdsutil: quit

\7. 打开“Active Directory 用户和计算机”。 在已删除的域控制器的域中,单击 ” 域控制器”。 在详细信息窗格中,不应出现您删除的域控制器的对象。

\8. 打开“Active Directory 站点和服务”。 导航到 “服务器” 容器,并确认删除的域控制器的服务器对象不包含 NTDS 设置对象。 如果服务器对象下未显示子对象,则可以删除该服务器对象。 如果出现子对象,请不要删除服务器对象,因为另一个应用程序正在使用该对象。

\9. 清除元数据之后,通过命令检查域环境信息。

具体命令如下:

c:>ntdsutil

ntdsutil: metadata cleanup

metadata cleanup: select operation target

select operation target: connections

server connections: connect to server it.org

server connections: quit

select operation target: list site
select operation target: select site 0

select operation target: list domain in site

select operation target: select domain 0

select operation target: list servers for domain in site

select operation target: quit

metadata cleanup: remove selected server

出现对话框,按“确定”删除DC控制服务器。

metadata cleanup: quit

ntdsutil: quit

清除之后,可能还需要清理DNS信息。

1.3 迁移五大主机角色

通过Netdom query fsmo可查看当前五大主机角色

image-20211013150031930

因为目前BJ-Server-AD1是辅助域控,进入命令提示,连接到辅助域控,然后退出;

image-20211013150109987
  • 迁移RID角色:Transfer RID master
  • 迁移PDC主机角色:Transfer PDC
  • 迁移移结构主机角色:Transfer infrastructure master
  • 迁移移域命名主机角色:Transfer naming master
  • 迁移架构主机角色:Transfer schema master

2 域复制状态

在多个地理位置建设有域控制器时,互相之间网络链路的通断情况会影响到信息同步,排障时需要检查。

2.1 复制关系表格一览

image-20211012165322116

使用Powershell命令

repadmin /showrepl * /csv | ConvertFrom-Csv | Out-GridView

这样一个表还是非常友好的。规模较大的话,数据加载需要等一段时间。

可以通过筛选器精准定位,从而清楚地看到所关注站点之间的出入复制任务是否成功。

2.2 其它常用命令

以下命令在林中的任意DC上执行时,理论上应该都没有明显报错。

Repadmin /replsummary

Repadmin /bridgeheads

Repadmin /showrepl

Repadmin /syncall /force

需要注意,在复杂环境中,不同物理位置的DC之间可能本身一直都没打通权限,且这种不通对业务未必有影响。例如,子域通常只需要和父域控制器网络通,而不是需要和其它所有子域的控制器都通。

总之,有些报错的显现,不能当作“XX故障现象是因为整个域网络有问题/状态不正常引起”的依据。需要加以辨别。

3 组策略执行状态

AD中的计算机/用户组策略下发未生效时,需要排查组策略的执行情况。

通常来说,在目标计算机上用运行命令或打开工具的方法,便可以获得进一步分析所需的参考信息。

3.1 组策略在本机的详细运行结果

gpresult /H gp.html

这个命令可以生成比较友好的阅读界面。

注意,要获得计算机策略的执行情况的前提是,用户要加入本地管理员组。如果只是user权限,就只能获得用户策略结果。

在哪个用户下运行,就会在该用户的目录下生成html文件。加参数也可以指定输出位置。

image-20211012171331682

适合用来直观核对特定的GPO配置。

Tip:从内容的长短可以初步判断策略执行成功与否,通常来说,我们在VDI项目中会通过组策略优化很多项内容。这会使得输出结果很长。

3.2 组策略在本机的简易运行结果

  • 可在cmd中输入gpresult /z,会在cmd窗口中输出文字形式的结果,只带有最简单的排版。
  • 可在cmd中输入rsop,可获得如下窗口化的结果。
image-20211012172052859

如果知道策略配置的路径,用这个方法查看比较快速(就我而言,最熟悉的就是登录用户配置中的登录脚本在哪里点出来了)。

4 其它

4.1 通过注册表查看配置。

在VDI环境中,策略不一定都是通过组策略下实现的,VDI软件厂商也会有自己的方案来控制计算机的设置,有时想要分辨是何种方案在起作用。

有一个方法,是在注册表(regedit)中搜索特定的字段,看看结果显示在哪里。比如,我是通过vmware的dem组件来把用户的目录做重定向的。那搜索重写向的目标Url,往往可从结果中获得一些提示。

4.2 事件查看器

最基本需要掌握的排错工具,显示在这里面信息指向性还是比较明确的。

以策略不生效为例。本次就观察了到这样的报错。

image-20211013163353679

后续排查方面,可能是网络,也可能是Windows自身的安全认证策略等。

4.3 查看系统状态

cmd下使用systeminfo命令

重点可以看看系统版本、安装补丁情况、登录服务器。

OS版本、补丁可能会和Bug、微软KB等有关联。登录服务器为什么重要呢?在某些容灾设计中,我们希望特定特性的计算机是找特定域控做登录认证。

发表在 IT技术 | 标签为 , | 留下评论

OVA虚拟机从下载到安装

前言

从OVF/OVA模板导入虚拟机可能是Vmware平台上最简单、快速的一种安装虚拟机的方式。用户只需要配置和自身环境有关的信息,比如计算、网络、存储资源的指定、应用初始化信息等,而不需要关注底层操作系统的安装细节。

Vmware有不少产品都提供OVF/OVA模板下载。最近,我用这种方式安装了Log Insight 软件。本文记录了完整过程。

PS

基于如下情景:已具备vSphere环境,并使用vCenter管理。

Step 1 确定应用版本

1.1 关于License

本次举例的 Log Insight,是Vmware的一款日志分析软件。

它是需要License的。(事实上Vmware的绝大多数产品都需要)

申请测试License需要登录自己的Vmware Connect ID,后续下载文件时会用到。

1.2 关于版本

为确定安装软件的哪个版本,我们需要明晰它与哪些软件产品发生联系,然后做互操作性检查

比如Log Insight,我最主要的目的是用它来接收vSphere的日志信息,此外我知道它和vROPs(vRealize Operations)可以集成。那么我重点要检查和vSpherevROPs的兼容情况。

打开以下网址之一:

界面如下图。

image-20210506170005989

Solution1 设为log Insight,With 可多选两项:

  1. vSphere Hypervisor -> 具体版本或All Versions
  2. vRealize Operations(名称是VMware vRealize Operations Cloud)image-20210506170501271

点击左下角Check Interoperability。

image-20210506170854417

结果中看到Log Insight的各个版本和ESXi 6.5U3都兼容。

对了,怎么没有看到vRealize Operations?那就说明没有需要注意兼容性的地方。

经过互操作性检查,我们可以放心地下载最新版本的Log Insight了。

PS

把上文比较对象中一开始的Solution1改成Horizon(All Versions),其它不变,再check,看一下结果。

image-20210506171446936

两个Solution就都出来了。

Step 2 下载文件

推荐的方式是到这个网址下载

http://vmware.com/downloads

image-20210506172108688
image-20210506172145613
image-20210506172421538

依次点击安装即可,中间需要登录customer connect账号,申请测试License。

PS

还发现了一个下载入口,如下:

www.vmware.com/try-vmware.html

image-20210507090022564

在这里,我们同样可以找到Log Insight下载测试。

但是,我发现在这个网址只能下载产品的最新版。因此,用downloads网站适用范围更广一些。

Step 3 安装

3.1 虚拟机安装

安装过程简化描述,在vCenter的服务器视图中,选中某个集群 -> 操作 -> 部署OVF模板 -> 本地文件 ->选中下载好的ova文件,下一步,开始自定义信息,参考如下:

  • 虚拟机名称
  • 选择集群位置
  • 决定安装size(Extra Small/Small/Medium/Large,支持ESXi Host数量不同,性能磁盘开销不同)
  • 存储位置和磁盘格式(厚置备延迟置零默认)
  • 选择网络(分配合适的虚拟交换机)
  • root密码(底层OS——Photon OS的root密码,用于在控制台登录虚拟机,注意虽然没有提示,但是要有一定复杂度)
  • 网络hostname或FQDN
  • 默认网关
  • 域信息及DNS服务器信息
  • IP地址及掩码

点击完成后,即可在vSphere的近期任务中看到虚拟机创建的任务进度条。

3.2 应用初始化

等上一步的进度条顺利走完,就可以在vSphere中找到新创建的这台虚拟机,打开一个控制台,看它的启动过程。

image-20210507134421307

打开浏览器,访问虚拟机IP地址,即可对Log Insight进行初始化配置,如下图。

image-20210507135208567

正常配置完成后,整个安装过程就结束了。

我们先后完成了:

  1. 从官网下载OVA文件。
  2. 在vSphere环境中导入OVA。
  3. 部署最小模式(单节点,没包含高可用)的Log Insight应用实例。

Step 4 排障

4.1 校验和

虚拟机创建过程中报如下错误。

所提供清单文件中的校验和与文件 VMware-vRealize-Log-Insight-8.4.0.0-17828109-system.vmdk 的内容不匹配。

需要检查下载ova文件的md5码,是否和下载页面中一致。

image-20210507135033401

PS

在Windows下有命令可以查看文件的md5,搜索即可。

4.2 丢失admin密码

安装时遇到了意外:在浏览器中初始化Log Insight时,还没设置好admin密码,就不小心关闭了浏览器,再访问IP时,发现不再提示初始化界面,而是直接让你输用户名、密码。

搜索后可在官方文档库中找到解决方法——在控制台以Root登录后运行一个脚本即可重置admin密码。

5 参考资源

用途网址
检查互操作性,确定版本https://interopmatrix.vmware.com/#/Interoperability
Evaluate VMware Productshttps://www.vmware.com/try-vmware.html
Vmware产品下载http://vmware.com/downloads
文档库http://docs.vmware.com
发表在 IT技术 | 标签为 , | 留下评论

让vmware世界纤毫毕现——vROPs 初体验

1 背景

vROPs是Vmware开发的,面向IT管理员的,集监控、分析、告警等多功能合一的管理平台。

它功能强大,不仅能整合运维自家的多个产品,如vSphere、vSAN、NSX等等,还有不少软硬件厂商能和它集成交互,可以称得上是运维利器。

在Horizon8之前,购买Horizon,会送vROPs这款产品。但有趣的是,有的最终用户似乎对它不太感冒,项目实施时装好了vROPs就放在那了,并没有真正使用起来,日常运维还是习惯在Horizon等软件里面去做。这样不免浪费了它的功能。

最近刚好在学习这款软件,记录一下自己的初步心得。

2 产品优势

image-20210420202929050

我认为它核心的竞争力有:

  1. 对Vmware自家产品的各种对象、属性、衡量指标等等各种元素的精细操作能力。
  2. 基于上述能力提供的高自由度定制功能,包括Dashboard、Alerts等。
  3. 对常见运维场景的便捷与人性化的操作。

Vmware对其的定义为智能操作管理,另一个运维软件——Log Insight专注于Log的集中分析,可以和vROPs集成协同工作。

3 术语

这个产品中的的概念,常常在中文里有不同的近义词可对应。为了避免混淆,先放一个表,这是产品本身在不同浏览器语言下的呈现。

英文中文备注
vROPsVMware vRealize Operations Suite标准发音vee-rops,参考链接
Metric衡量指标
View视图
Dashboard仪表板
Widget小组件类似手机桌面的小组件
Alert警示
Symptom症状

4 功能运用

产品功能很多,从传统自建数据机房运维角度,最关注的还是监控(Monitoring)与故障排除(Trouble Shooting)。

4.1 Monitor(管理员主动)

VROPs可以让你很方便地定制各种Dashboard,实现信息的快速调取。

image-20210425093539864

观看时可以实现交互效果。比如,创设一个Dashboard中的第一个Widget是一个列表,它列出了环境中的多个DataCenter。其它Widget是展示某些性能趋势等信息的。那么,你想看哪个DataCenter就点哪个,Performance信息会随着选择自动刷新更改,非常方便。

最终结果是要绘制Dashboard。

一般要先做View(视图),再做Dashboard(仪表盘)。

以下引用部分来自官方培训教材。

View

A view is the smallest component of a dashboard or a report.

A view is a visualization of data that helps you interpret the metrics, properties, and policies of a given object.

Views help you perform the following tasks:

• Diagnosing and troubleshooting issues

• Gathering information about your environment

View是基础的属性/衡量指标的第一次可视化提炼了。典型的例子是资产统计表。你关注哪些属性、指标,就选择哪些,并且可以充分地定义展示效果、过滤器等。

列表只是View的一种类型。其它类型如下图。

image-20210425100530240

Dashboards

Dashboards provide a graphic representation of data and display the overall infrastructure health

我们可以像搭积木一样,从Properties、Metrics、Views等元素中选择自己需要的信息,绘制Dashboard。通常,在创建Dashboard的时候是通过拖拽List到画布中的方式来实现的。

下图中,每个小图表都是View,左边的是List类型的View。右边则是Trend(趋势)类型。

image-20210425101000204

可以猜想到,这个Dashboard将实现的效果是:在左边任意点选一个VM,右边就展示它的Performance和Utilization信息。

系统中还有几种常见的小组件可以选用。如下图就是“热图”控件的效果。

image-20210425101853377

TIP

View和Dashboard都是可复用的资产,可以从一个vROPs环境导出到另一个。

4.2 Alerts

这是系统自己通过实时计算分析各种属性、Metrics,当发现符合症状定义时触发的信息。

The alerts are generated when the symptoms in the alert definition are triggered. The symptoms is triggered when the objects in your environment do not operate within the parameters you defined as acceptable.

Forexample,avirtual machine memory workload is at immediate level symptom is triggered when the Virtual Machine: Memory|Workload (%) metric is greater than 90%.

这是一个需要基于业务运行状态精细调整、定制的部分。Alerts过多会造成使得信息有效性下降,从而增加错过重要的信息的机率。

在vROPs里面,可设置的内容的精度和粒度比vSphere中要更多。

image-20210425103501657

系统中,可以看到Alerts有以下几类。

  • 衡量指标,大于数字;逻辑关系+值;True/False
  • 消息类:有运算符:包含,匹配
  • 故障类:无运算符,一种事件发生
  • 衡量指标事件:大于硬阈值

4.3 Trouble Shooting

便于快速浏览一个对象的上下文环境中的各个关联对象,检查是否有告警。并且可以快速切换关注对象目标。

系统还能自动列出多项与某一种现象有关的其它关联现象,叫做潜在证据,以辅助分析。如下图。

image-20210425091708430

举个例子,在VDI环境中,可能会发生启动风暴,那么一个桌面VM的读写性能受到影响,Performance下降,当符合Symptom定义的时候——如Latency > 20ms——就会触发Alert当。管理员看到Alert,点进去Touble-shoot这台VM时,会发现系统已经把这段时间前后的多个可能相关的事件、指示变化情况罗列好了,比如告警是否增多,从什么时候开始增多的,IOPS、网络流量等趋势图表等。

4.4 其它

4.4.1 Reports的配置与导出

基于View或者Dashboard创建报告,通过邮件等方式自动发出,可设置计划任务。

报告中可自定义一些样式如Logo等。可选择导出为PDF、CSV两种格式。(当条目较多的时候,PDF的格式不是很美观。)

4.4.2 Optimaziton

根据商业意图来迁移负载,自动调整不同ESXi Host中运行的Vm的数量。(vSphere需要打开 DRS迁移。)

常见的意图有:

  • 尽量在指定数量的主机中均分负载。
  • 尽量用最少的主机承担负载,以空出主机。

4.4.3 容量计算、What-if

新项目上线工作负载评估。

当前运行状态系统资源还能支撑多久。

部分业务迁移到公有云对运行成本有何影响等。

4.4.4 服务发现

内置多种标准服务类型,可发现环境中运行着的实例:如AD、IIS、SQL等。

可对被发现的主机远程执行命令,运行Script等。

可自定义服务进行监控,如NTP。

5 资源

可在marketplace.cloud.vmware.com中搜索管理包(Management Pack),与现有环境集成。这样可以识别到其它软硬件品牌特有的Metrics、Views、Dashboard等,从而使运维进一步集中。

发表在 IT技术 | 标签为 , , | 留下评论

H3C 2021 Navigate领航者大会小记

1 主旨演讲

新华三关于未来IT趋势判断的观点。
坚定数据原生理念,如不能及时向数字原生组织转变,竞争就会失败。

2 新产品发布

2.1 紫光云3.0

由下述两部分共同组成。

  • 紫鸾云:公有云、私有云、边缘云统一架构。 和中心承接的公有云、私有云数字化转型调研相关
  • 绿洲平台。云智原生、数据平台。

2.2 智擎芯片

2.3 若干交换机

2.4 pc领域(目标Top3)

2.5 智慧屏(目标Top2)

参考链接

3 编排相关

3.1 背景

IT运维、服务工作规模到达一定程度,人工运维达不到服务效率和准确性要求。
传统方法是开发一套IT系统,但这种方式封闭,而且定制化程度太高,后续业务震求、环境中软硬件版本等发生变化的话,应对较为被动。
可考虑的实现自主服务平台的一种方法是:用编排技术。优势是可以把甲方熟知的业务流程内化到系统中,甲方自主学习编排技术相对更容易,具备能力后可自主实现新场景。

3.2 个人理解

编排就是把要做的一系列的工序预先定义好,实现机器自动执行,极大减少人工干预。
编排类型:
侵入式:主要通过程序接口后台执行,执行过程不可见
非侵入式:RPA机器人,录制好的行为逻辑。执行过程可见。(快速准确的界面操作,如按键精灵自动操作)

RPA:Robot Procedure Automation。有专门的工具平台。增长迅速。
如vrops的只是监控系统,功能是运维定制集成,不是编排,不能实现rpa。

3.3 基于原HP OO产品的编排产品

不同于普通的RPA产品,OO有流程引擎原子库,可对接很多IT大厂的解决方案,如AD、SAP、Vmware。

个人理解,做流程自动化,首先考虑用内置接口,其次调用脚本(如Powershell等)、最后可以考虑用RPA机器人。

OO: HP Operations Orchestration。惠普 流程调度软件是新一代的 IT 流程自动化解决方案,它是一款全新的设计,专门用于为传统数据中心或混合云环境增强自动化流程的应用。 它可提供理想的选择,自动化您的 IT 任务、运维和流程,并且并非仅限于运行手册自动化。 它还可以提供最全面的集成功能以及跨多个 IT 域的“即开即用”内容,例如虚拟化、云、SAP 协调、开发运维和安全运维。

oo被microsoft收购,中国的交付是h3c有人可以做,包括提供培训等。

3.4 案例展示

3.4.1 RPA工具

客户定制化的场景UI大屏。

3.4.2 灾备演练系统

演练是常见的需求。现场看到的这套系统已经很成熟的了。操作的粒度是一套业务系统。

编排脚本、操作设备命令行。授权、计划审批、人工介入功能。

3.4.3 一站式运维系统

客制化,含系统性能监控、流程自动化、灾备管理等功能。

4 x10000系列存储

分布式Nas存储,也可以提供对象存储、块存储功能。型号尾数代表盘位数。
10516
10536

发表在 周边杂记 | 标签为 , | 留下评论

Netapp 3200 7mode排障经验

最近通过几起Netapp存储排障经历,积累了一些经验,集中总结一下。

本文基于以下假想背景:

  • 一个控制器发生了硬件故障,另一个控制器发生了Takeover接管操作,但单节点性能不足以承载全部业务,由此性能下降,后续更换了故障控制器的主板,重新拉起设备。

  • 设备是Netapp FAS3200系列的存储,配置为7-Mode。

1 初步判断

1.1 硬件_控制器告警灯

正面黄色灯:硬件故障或者failover状态未启动;

背部黄色灯:代表此控制器处于被takeover状态,而不是硬件故障。因此,在修复时不是先灭灯才可giveback。而是giveback成功后再灭灯。

1.2 系统_性能数据

当业务负载较大,存活的controller上性能出现瓶颈时,网页图表可能加载不出来。

此时可以SSH到命令行界面,使用sysstat命令检查。

storage>sysstat -x 2

Tips:

如看到cifs IO输出为0,不代表此存储上没有cifs业务。处于瓶颈状态时,存储优先提供fcp业务。

1.3 确认影响业务范围

在存活节点用Volume show查看输出,对判断业务影响范围往往最可靠。即使是管理员,记忆也可能有偏差,会影响到向业务干系方汇报的准确度。

在出现设备硬件故障时,除非能短时修复,否则立即尝试从应用层面调整解决,后续再选择时机更换故障控制器,修复HA。

2 硬件更换及修复

宕机的控制器访问不了,需要使用串口连接(在尾部控制器面板找串口标志)。

简易过程如下:

image-20201221110233376

完成giveback后,完成修复的故障控制器节点应该能够正常启动和进入系统。再次对端口、聚合、磁盘、Volume信息等做检查,确保基本工作状态正常。

3 主机识别

更换控制器之后,LUN的Serial可能发生改变。(不绝对)

如果业务主机反复扫描,甚至重启,都无法识别原有LUN。可检查同一个LUN,是否发生了Serial改变。如果是,则手动将现在的Serial修改为之前的,再尝试扫描。

3.1确认Serial是否发生变化;

在主机层面找到需要修复的LUN,查看其Serial(24位数字)。

image-20201221112454144

在存储上,用命令查看Serial,比较两者是否一致。如下图。

storage*>lun serial -x /vol/volume/volume
                 Serial (hex)#:0x4431649592444345804731

如果不一致,则尝试存储端,使其与主机端一致。

3.2 查找原始Serial

注意,存储端命令需要以12位字符串形式输入,主机上能看到的24位数字是不行的。因此需要到存储AutoSupport日志中寻找原先的配置。

如果本地存储系统无法启动,可以从存活节点中读取,位置:c$\log\autosupport\。

AutoSupport每天都会生成一个文件夹,形如202012060015.1.files

其中保存了各种命令的输出结果,截取部分如下:

image-20201216170939802

找到LUN-configuration命令的输出文件,可在其中查找目标LUN的Serial号(12位字符串)。

image-20201221110924433

3.3 刷新LUN Serial

使用如下命令:

//lun serial [-x] lun_path new_lun_serial

lun serial /vol/blocks_fvt/ncmds_lun2 DlaIYSD4XPFr

更多信息可参考

Netapp Lun Serial命令语法

将LUN号刷回之后,在主机上尝试重新扫描,若仍无效则重启再试,应该可以解决。

4 技巧

4.1 找日志的方法

方法一:CIFS共享

在以域管理员用户登陆的Windows客户端上访问\\存储管理地址\c$

(前提是启用了CIFS服务,c$默认开启)可以看到

image-20201208200331177

方法二:FTP工具连接

此方法需要开启FTP服务,并建立FTP专门用户useradmin。

可检查options ftp命令输出。如果都是off则不行;

方法三:命令行工具

进入特权模式,命令提示符发生变化。

storage>priv set advanced
storage*> 

在终端工具(如securecrt)开启日志记录后,直接用rdfile命令在窗口中读取日志文件。

storage*>rdfile /etc/messages

断开会话,日志就被保存到了securecrt指定的位置。

Tips:

  • 输入ls /etc/log,可以列出log下的文件,大部分文件不能rdfile

  • 如果控制器还处于故障状态未能正常启动,则尝试到存活节点上查找共有配置信息-如LUN Serial;

4.2 使用performance counter查看性能

网页性能监控图表和sysstat命令能看到的指标是预设的,个数也较少。但还有一个快速简易地观察更多指标的方法——通过命令调用performance counter。

命令示例如下:

stats show -i 2 -n 900 fcp:fcp:fcp_latency                  //收900次fcp_latency信息
stats show -i 2 -n 900 aggregate:aggr1:total_transfers     //收900次aggr1的total_transfers信息

其中,最后的fcp_latency、total_transfers就是conter,前面两个单词为Object和Instance,这些在官方可查。

命令输出效果如下:

 fcp       32.91
     fcp       76.64
     fcp       60.01
     fcp       61.09
Instance fcp_latency
                  ms
     fcp       45.50
     fcp       52.75
     fcp       56.45
     fcp       34.93
     fcp       40.26
     fcp      101.50
     fcp       85.34
     fcp       70.79
    

以下是相关官方链接:

Netapp Manual Page,介绍命令语法。

https://library.netapp.com/ecmdocs/ECMP1368825/html/cmdrefnow/

stats命令详解,举例部分提到*object_name:instance_name:counter_name用法。

https://library.netapp.com/ecmdocs/ECMP1368825/html/cmdrefnow/man1/na_stats.1.html

可用性能计数器定义信息可参考:Definitions of performance counters。

https://library.netapp.com/ecmdocs/ECMP1608437/html/GUID-04407796-688E-489D-901C-A6C9EAC2A7A2.html

4.3 Nvram状态

image-20201221141430174

在Sysstat -X的命令输出中,Disk Util不是评价存储磁盘达到性能瓶颈的可靠指标。它反映最繁忙的一块磁盘的使用率,而不是所有磁盘的平均使用率。因此该项指标只能作为参考使用。当它长时间显示为100%时,才值得引起关注。

而CP_ty列不同字母代表的Nvram状态,更能说明性能问题。

如果出现大量的“B”开头的状态,则代表性能不好。它表示在上一个CP未结束时发起了新的CP,造成递归等待;(而小b会更不好)。

可以凭肉眼粗略判断出现的”B”的数量,也可以抓取日志后统计出现频率。

image-20201221141651656

性能富余的系统中,CP_ty列大部分为“-”,性能瓶颈的系统中,会有较多B开头字母。

关于各项CP_ty值的含义,具体可参考链接:

https://kb.netapp.com/Advice_and_Troubleshooting/Data_Storage_Software/ONTAP_OS/FAQ:_Consistency_Point

重点可看“What is the Back-to-Back (B2B) Consistency Point Scenario?”部分

4.4 同时收集多项指标数据

Netapp存储命令行只能单会话窗口登录。不能同时在多个终端上以root用户身份登陆。在当前会话窗口,只能显示单条命令的输出,如果想输入其它命令,只能中断当前命令。

当需要同时追踪多条命令输出的时候,比如收集不同的performance counter输出,可以通过从其它linux终端远程到存储上执行命令来实现。以下是一个例子,我们可以一边在存储上收集sysstat -x 结果,一边在linux终端上收集fcp_latency信息。如果打开更多的linux会话,还可以收集更多。

ssh root@XX.XX.XX.XX "stats show -i 2 -n 900 fcp:fcp:fcp_latency"
root@XX.XX.XX.XX's password: 
Instance fcp_latency
                  ms
     fcp       34.23
     fcp       40.42

4.5 关闭autogiveback

命令行下输入options cf,观察是否开启。如开启,建议关闭,命令如下:

options cf.giveback.auto.after.panic.takeover off

两个控制器上都需要进行操作。

发表在 IT技术 | 标签为 , | 留下评论

HDS NAS 原理及Storage Pool方案

做VDI项目,数据存储是必要的。选择传统的SAN和NAS存储无疑是最稳妥的一种选择。

非存储专业的技术人员,对企业存储需要懂多少?其实只要略懂就可以了。

本文以HDS品牌为题材书写,包含两部分内容:一是介绍HDS的NAS提供流程(硬件网关型)并提炼技术要点,二是介绍了两种不同的Storage Pool划分思路。

1 从SAN硬盘到NAS服务

HDS NAS服务示意

上图描述了HDS的NAS设备(外置Hnas网关或内置NAS module)使用HDS的SAN存储来提供NAS服务的过程。

  1. 物理磁盘层。物理硬盘组成Raid组,部分硬盘成为热备盘(Hot Spare)。
  2. DP Pool(Dynamic Provisioning Pool)。多个Raid组虚拟组成一个DP Pool。
  3. 在DP Pool中,划分出若干LUN。
  4. NAS设备识别到上一步中的LUN(通过SAN网络或直连SAN存储)。在NAS设备上操作,将这些LUN划分到不同的Storage Pool中。多个LUN虚拟化成一个Storage Pool。
  5. 在一个Storage Pool中可建立多个文件系统(File System),比如NFS文件系统或者CIFS。
  6. 对每个文件系统建立Share,即可提供对外服务。

2 技术注释

2.1 NAS的Drive = SAN的LUN

在NAS设备的视角上看,SAN存储提供的LUN,对于它来说就是物理硬盘。在NAS设备上观察Storage Pool属性,可以看到一个Storage Pool由多个Hosting System Drives组成。每个Drive,其实就是SAN存储提供的一个LUN。

上图中,SAN存储共提供9个2T的LUN。

2.2 配置信息在SAN上

Storage Pool的划分虽然是在NAS设备上操作,但Pool结构和文件系统划分配置等信息是写入到SAN存储的LUN上的。NAS设备不保存磁盘和文件系统配置信息。

简单类比,就像在普通PC机上对硬盘做格式化和分区一样,信息是写入到硬盘中的。

2.3 NAS与Storage Pool

一个Storage Pool只能对接一套NAS设备(单节点和多节点集群均算一套)其中的LUN只可被分配一次。

简单类比,正如一块硬盘不能同时插到两台PC机上,一个LUN也不能分配给多套NAS设备。

使用过的LUN不能从Storage Pool中退出。Storage Pool是多个LUN的虚拟化,使用时数据条带化写入到每个LUN中,对每个LUN的操作又条带化地写入到组成DP Pool的多个Raid组中,由此使得组成Raid组的所有物理硬盘性能被充分利用。

2.4 NAS机头的更换

NAS机头仅仅提供计算性能,而不保存生产数据。因此,更换NAS机头(或module)不涉及数据风险。当然,停机是免不了的。同时,新NAS机头和旧SAN存储之间需要满足兼容性要求。

简单类比,现状就像是普通PC机插着普通硬盘,做成一台文件共享服务器对外提供服务。我们可以把硬盘拆下来,换到另一台PC机上使用(前提是兼容)。

3 Storage Pool设计

在了解上述基础信息之后,我们来看Storage Pool的设计。常见有以下两种设计方案。

HDS拓扑图2

3.1 图示说明

  • NAS1和NAS2为一对双节点集群,NAS3和NAS4为一对双节点集群。
  • 正如前文所说,一个LUN只能被一套集群使用。淡蓝色代表该Storage Pool中的LUN分配给NAS1、2集群使用。淡粉色代表该Storage Pool中的LUN分配给NAS3、4集群使用。
  • 蓝、绿、紫、棕四种颜色代表四种不同类型的业务。文件夹代表文件系统。
  • 文件系统与NAS机头的连线,代表NAS计算能力的分配关系(mount),是动态可调整的。例如,第一种方案中,业务A_1文件系统mount在NAS1节点上,当NAS1节点故障时,NAS2节点会接管此文件系统。

3.2 方案详解

第一种方案的Storage Pool划分依据,是NAS集群数量。因为有两个独立的NAS集群(它们之间是没有任何关联的),一个LUN只能被一个NAS集群使用,因此,至少需要建两个Storage Pool,分别对应两套NAS——对于4节点的集群(HDS N系列),最少只需要一个Storage Pool就够了。

在一个Pool中,包含各类业务的文件系统,没有做进一步区分。

第二种方案的Storage Pool划分依据,是业务数量。有4种业务,就划分4个Storage Pool。我们可以看到,业务A_1和业务A_2这两个同类文件系统合体了。

3.3 方案对比

两种方案主要在资源利用率性能变更灵活度上有差异。

我们知道,在NAS配置阶段,LUN是资源分配的最小颗粒,且具备分配后不可回收的特点。

假设现在每个LUN都为1T,经计算,业务A需要7.2T空间、业务B需要3.4T空间。按第二种方案的思路,需要分配 8 + 4 = 12个LUN。按第一种思路,A加B合起来只需要10.6T,分配11个LUN就够了。

可见,Storage Pool划分得越多,空间浪费就会越多。同时,每个Storage Pool的LUN的数量变少,性能也会下降。

但是,它的好处是应变能力强。举个例子,假设现在NAS1、2集群的计算性能出现了瓶颈,而NAS3、4集群性能还有富余。

按第一种方案,A、B、C三种业务若继续保持绑定状态,将Storage Pool1 切换到NAS3、4集群肯定是承载不住的(项目建设时采购的配置一般相当),只能紧急采购更高性能的NAS机头更换。

或者对其中部分文件系统做迁移,而这又要求有可用空间。

显然,都比较麻烦和被动。

而按第二种方案,我们可以将其中部分业务变更映射关系,比如单独将Storage Pool B从NAS1、2集群断开,重新映射给NAS3、4集群。这样做不麻烦,而有可能取得比较理想的效果,比如:3和4的负载上升,但还能承受;1和2压力降低,卡顿情况有所缓解。没准就解决了燃眉之急,为后续方案争取到了时间。

所以,化整为零,可以是我们应对风险留的一手。

4 总结

对新建项目、存储划分很关键,因为一旦Storage Pool定了就不能更改,除非整体更换存储。最关键的就是在方案一和方案二之中做选择或者两者叠加。需要充分平衡空间、性能、灵活性这3个因素,如有类似项目经验参考会比较有优势。

本文举的例子是理想情况,实际空间会有差异,比如5D+1P的Raid5磁盘组的实际可用容量,就达不到5块硬盘裸容量之和。其次,LUN的划分方案、Storage Pool的划分,都会影响到最终业务可用的文件系统的容量,同时还有快照、操作系统占用等技术也会消耗空间。这些因素在项目检讨之初就最好纳入考虑。

如果没有条件做细致检讨,最低限度也是要预留一定比例的Buffer。如果业务需要用100T,规格书中也只要求存储提供100T的可用容量,最后出来的结果一定会少于预期。因为和电动车的续航里程一样,可用容量是在特定条件、配置下得出的,而这个条件未必符合你的实际。

发表在 IT技术 | 标签为 , , | 留下评论

思杰( Citrix)证书的正确处置方式


1 概要

IT工程师难免需要考证,虚拟化工程师也不例外。

一年前,我通过了思杰的一门虚拟化认证考试CCA;一年后,当偶然想起确认证书时,遇到一串意料之外的问题。

好在经过一番周折后妥善解决了,于是在这里分享一下经验。

2 确认证书

大概很多人和我一样,报名、上课、预约考点、考试等一套流程结束,收到官方发来的证书pdf(如下图),随手一存,收藏邮件,之后也就不再关注此事了。

这里,我建议你多做一步确认——官方系统中,这张证书确实颁发给了你本人。考虑到万一证书pdf丢失,我们也许会产生补办的需求,提前确认清楚比较好。

我们需要访问citrixcertmanager(思杰证书管理器)进行确认,下面就介绍打开方式以及用它能干什么。

2.1 打开方式一

访问:http://www.citrixcertmanager.com或者http://citrixcertmanager.com

image-20200924095415579

这个系统需要用Candidate ID登陆,名称是CTX加6位数字。在培训过程中,我们会自己申请或由他人(如培训组织者)代为申请获得这个账号。

注意,不是用Citrix 账号登陆,事实上,这个网站,从左上角站点图标就看出,它属于培生(www.pearson.com.cn)考试中心,见下图。

image-20200924100920668
考国外IT证书一般需要通过它

登陆成功后的页面如下:

image-20200924101516330

2.2 打开方式二

  1. 打开思杰培训:https://training.citrix.com/learning/landing
  2. MyCitrixID登陆(通常是你注册思杰网站的邮箱)。
  3. 浏览找到Certificate Manager,这里你也会看到上文中Citrixcertmanager的网址链接。如下图:image-20200924095818541

后面就和2.1一样了。

2.3 这个网站可以干什么?

登录成功后的左侧菜单栏有一系列选项,我认为比较实用的有以下几个。

  • 补发证书-Request Certificate如果不慎丢失证书,可通过此功能申请,如下图。
image-20200927103938326
  • 认证有效性官方证明-Publish CredentialsPearson将向你指定的邮箱发送一封邮件,其中包含一个URL链接和密码,可证明你的思杰认证有效性,如下图:image-20200927161231539
官方背书
  • 证书素材下载-Download Center下载所获得认证相关的LOGO等图案素材,便于在简历、PPT等材料中使用。

3 多重Candidate账号问题

以上是正常情况,而我却遇到了非正常的情况(事实上,和我一起参与培训的同事中也有遇到的)——登录后,在Citrixcertmanager中怎么都找不到自己的培训和考试通过记录,空空如也。后来我才知道,我那时候有两个不同的Candidate ID,考试认证记录在另外一个账号中。

3.1 原因

为什么会出现这样的问题呢?

是因为在整个培训和考试过程中,在注册Pearson Candidate ID的两个时间点上,两个不同的Candidate ID被注册了,如下:

  1. 培训开始之前一个公司有多人参与培训时,一般会有一个总协调人。他收集全部培训者的邮箱(一定是公司邮箱)提交后,思杰统一注册开通Candidate ID。
  2. 预约考试之前通常指导手册的第一步,就是考生需要个人注册person VUE 账号。此时,考生有可能没有意识到自己其实已经有账号了,又用不同的邮箱(个人邮箱)注册了一个。完成缴费考试等操作。

培训考试记录在第二步注册的账号之中。当一段时间过去,考生记忆产生了混淆,用第一步中产生的账号登陆系统,自然是找不到记录的。

3.2 解决办法

检查你的公司邮箱和个人邮箱,应该能发现都收到过Citrix的邮件,并且能从中找到另一个Candidate ID。换它登陆就可以了。如果想要免除后顾之忧,还可以向思杰培训中心开一个case,保留唯一的一个即可。

  • 我是这么说的Well, I found I have another citrix account CTXXXXXX ,and I can see my cca-v certificate in it.I registered these two accounts with different email addresses.Should I merge them to One account?
  • 收到的回答Thanks for the confirmation. We have now merged your CTX ID’s to CTXXXXXXX. You have only one account now.

效果如下图:

image-20200720100743018
标*的账号已被Retire

4 注册youracclaim

youracclaim是一个提供digital badge(数字徽章)认证的网站(https://www.youracclaim.com/),与许多IT厂商有合作,如Citrix、Vmware、思科、华为、微软等常见厂商。

它可以将你的IT数字徽章统一管理,方便你在社交媒体展示,并提供认证服务。

一开始,我用注册思杰官网的邮箱注册youracclaim账号后,并没有看到CCA-V的徽章。于是我在youracclaim官网提交了一个服务请求。

  • 我是这么说的主题:don’t see my cca badge描述:HOW to link my youracclaim account with my citrix accout,so as to get the digital badge?
  • 收到的回答Hello,Thank you for reaching out to Acclaim support and congratulations on your Achievements!It appears that your CCA-V badge has been issued to and is currently accepted within your account on the Acclaim platform registered to the email address xxxxxx.

效果如下图:

image-20200720103951375
youracclaim邮件通知证书颁发
image-20200927115041598
接收后Dashboard出现证书

5 分享digital badge到领英等社交网站

youracclaim可以将你的徽章分享到几个合作平台,其中领英(linkedin)是我们可直接使用的,点击connect即可,如下图。

image-20200927114326596
开通对领英的链接授权

开通后,你将在自己的领英档案的“资格认证”中看到已获得的徽章,并且可以自主验证,如下图。

image-20200922202015082
youracclaim可提供校验证明

6 总结

  • 及时确认自己的Citrixcertmanager状况,如找不到证书,检查自己是否在多个邮箱中都收到过CTXXXXXX账号信息,如是,可判断发生了多重账号问题。可开case,让思杰合并账号。
  • 在Citrixcertmanager中,可以申请补发证书、请求官方证明、下载图标素材等。
  • 可以注册youracclaim网站,如在此网站中看不到自己的徽章,可开case,让youracclaim处理。
  • 在youracclaim获得的digital badge可以链接到领英账号。

账号清单

账号说明
Candidate ID登陆pearson证书管理器用,CTX加六位数字
myCitrixID登陆思杰官网用,email
youracclaim ID与上一行相同的email

网址清单

发表在 周边杂记 | 标签为 , , | 留下评论

且放竹筏山水间——2020桂林阳朔游

Day1 到达桂林

第一天,10月1日,中秋国庆双节,绝佳的好日子。我和夫人踏上行程。合肥新桥机场出发,下午1点30到达桂林两江机场。

1-1

等行李时看到桂林西瓜霜的大幅广告。久违的有熟悉感的品牌,吉祥物形象有些难以形容。

1-2

机场大巴1号线上等候时,注意到窗外出租车颜色罕见。

1-3

看到城市道路与一座座山如此近距离地挨着,很新奇。山形多峭壁,似国画,而在地图软件中,却只是一片空白,看来此景只为寻常而已。酒店是火车站旁的格林豪泰。稍事休整,坐公交去两江四湖——市内开放的组合公园。天气适宜,逛公园便闲适。与晚上相比,白天游客稀少,一眼就能发现最受欢迎的景点——日月双塔,匆匆抓紧人流间隙拍照。

CoUBXl93HNKAb4q4AAaQl0x5Unc651

CoUBXl93HNiAP9joAAmPI1ZbulE929

入夜以后,有不同的景象。

旁边就是中心广场。来桂林的第一餐是鸭脚煲。

CoUBXl91qr-AJazYAAh_jeiOsoE843

在这里新尝试了一种饮料——吸粉,味道像是清新版川贝枇杷膏与冰粉的结合。饭后一边在附近闲逛,一边等漓江大瀑布饭店的名节目。

CoUBXl91yraARZyDABp2UtEmnNw694

8点30分,音乐喷泉演出准时开始。首先是地面的喷泉随着音乐渐渐喷涌,几分钟后停止。很快,水幕出现了。起先是两边,很快中间也开始有,接着整面墙都铺满水幕,顿时呈现一派蔚为壮观的瀑布景象。广场上翘首的人群兴奋不已。

下一阶段,地面喷泉再次出现,同时水幕水势更大,而且加上了不同位置出水口彼此的配合,更有层次。

演出持续15分钟后,水止。毫无疑问,这是今天最精彩的部分。

Day2 龙脊梯田

8人包车,7点接齐出发。行驶在山路时,有白雾穿行山间,偶尔瞥见一小角梯田已呈黄色,期待又添一分。顺利到达景区门口,没有堵车。

CoUBXl92eiyADFGpAB7SR5pFzBQ121

买票后继续出发。又过约30分钟,到达金坑大寨入口。排队上索道。

到达观景台后,步出缆车,壮美风光扑入眼帘。虽然稻谷尚未全部转黄,但仍惊艳。

观景台上,靠近栏杆的一边,主题是拍照。其中,苗族服装租借生意特别火热,一套只需要10-15元,而且直接可以外穿,很多姑娘、儿童换上新装,使得整片空间充满欢乐。另一边是各式各样的店铺,尤以现炒辣酱、烧烤的香气最为撩人。

CoUBXl93HNWAAsa7ABRPhKXoHwc394

11点30,集合时间到,我们8人汇合,往下走约10分钟,到山腰一家客栈吃饭,接着踏上归程。值得一提的是,这间客栈旁边的坡非常漂亮,让我想到windows xp的默认背景。

CoUBXl93HNaAZhD0AAzmbC6ORag985

下坡还需要先后在石板路和马路上走40分钟左右,来时坐缆车是整体概览,此时则是自己走入景中,细节体会,体验顿时丰满立体。一路上也有不少有趣味的景致,可能联通起在其它山林间漫步的感觉,可能有路边发现溪流瀑布的惊喜,可能勾起寄情山野的向往,或是受到热闹烟火气的感染。整片梯田何止万顷,道路恐怕也不下百条。我和夫人不疾不徐地向下走,向下走,让身体和眼睛投入进去,尽情享受这段旅程,真的很棒。

CoUBXl93I8SAacKZABDLsoI4tCo320

CoUBXl93I8aARy97AA5THd84B0w867

CoUBXl93I8iAaiOdAA0cvifpUAQ436

下午1点40分,我们坐车开始回程,看到来时狭窄的山路早已堵得满满当当。庆幸选择了早起早归。第二天,愉快地结束。

Day3 阳朔漓江

今天的行程是2人包车。一大早,师傅带我们到市内吃正宗的米粉。

CoUBXl93xASAO78YAA2zBHcHT5M260

CoUBXl93xAiAcrcIAB39cwdukdY647

米粉有片成扁状的,也有圆的。顾客排好队,店员见一个,下一份粉,须臾便盛到小钢盆中。接着又有第二位店员一边飞速切好卤肉,一边抛出探问的眼神——没错,可以提一些小需求,如加汤,或多加点蒜瓣花生等。

拿着这么一份米粉,便可以去自助区添加佐料了,有泡椒、酸豆角、辣椒等多种。最后,拿上一副筷子,就齐活了。

吃米粉的姿势,坐在桌前固然可以,更有一种则是站着,在店门口街边吃。这与有没有位置没有关系,仿佛是在就着烟火气食用,想必更添风味。

关于米粉的味道,实在不知道为什么眼皮底下都是平平无奇的食物材料,合在一起竟如此精彩、鲜活。以至于,在人头涌动的店里,绝听不到聊天闲语。米粉适合一个人专心享用,任何杂事只能徒添干扰。别忘了,全部吃完后,还可以舀上两勺清汤。倒入碗中,这时鲜香浓郁的酱汁便变得温驯了。缓缓入口,心满意足。

这所有的一切,是5块钱。很难想象5块钱还能怎么用,可以买到同样的快乐。

我想早晨七八点的桂林,生活气息全体现在这一碗米粉里。米粉之于桂林人,就像淮南牛肉汤之于淮南人,馄饨小笼包之于无锡人,是不可取代的习惯。

车辆驶入山间,从一观景台远眺。

CoUBXl930aaAP3L5AAIjtnHzpZM687

在杨堤码头坐竹筏。

CoUBXl9318CAE-F8AAxV2RBzjrc054

这是一种有马达的竹筏,时速能达到十四公里左右。

我们有45分钟的时间,在和畅惠风和粼粼碧波之上,领略大好风光。

CoUBXl94hA2AGa2nABYjbwbIzlI880

鲤鱼挂壁。

CoUBXl94hFuAM2K6AA7A4_-5XWE284

观音山。

CoUBXl94hHeAM-YVAAxwBA2HZdM001

九马画山。

下竹筏后,转景区浏览车来到兴坪镇。这里早已挤满游客。

20元人民币同款背景打卡。

CoUBXl94hJSAKbYVAAzux-bsGdA511

饭后,前往银子岩,途中漓江第一湾打卡。

CoUBXl94hL2AL2SdAA3Ynqfeejc871

银子岩是溶洞,规模不小,全程大约五六千步。

只要是溶洞,传统记录方式就纷纷失灵,非身临其境不可体会。

CoUBXl94SciADDrGABosdatcnZU576

17点30分出洞,来一杯现榨甘蔗汁,甜。

今日份的游览到此为止。

Day4 遇龙河漂流及十里画廊骑行

今天计划的第一项是遇龙河漂流。

本计划早晨7点55车接,结果前面有人耽误,多等了15分钟,当时我们想这也许会导致漂流多等1小时。

然而后来的实际情况严酷得多,我们从9点开始排队,一直到下午1点15分才坐上了竹筏。整整等待了4个小时15分钟,排队期间值得吐槽的情况很多,焦躁不安的气氛始终不退,数次发生游客吵架,甚至最后还发生了打架事件,整个一出闹剧,百态杂陈。

终于坐上了竹筏,这次是纯人力的竹筏,标配2个座位。

竹筏都是统一的样式,用10根粗壮的长竹捆在一起,中部安装一副2人座椅,附有遮雨遮阳用的伞。竹筏在到达目的地后,需要拆除座椅,由多名筏工配合,一张叠一张搬运到卡车上,由卡车运回上游重新投入水中。

筏工根据左利手和右利手之分,会站在筏后方的左侧或者右侧,顾客中体重较小的和他同侧入座,较大的则在异侧。

一个半小时的航程,是筏工用长长的竹杆,使上胳膊、腰腿的力气,一杆一杆地反推河床,使竹筏往前一点点推进完成的,时速最多只能到4公里多。

整条遇龙河上,数不清有多少竹筏循环往来。筏工通常都是五十岁以上的男性,偶尔也有女性。他们拿的是计件工资,以我乘坐的这趟从金龙桥码头到旧县码头的航程为例,单趟约需一个半小时,只有几十元收入。在旺季,体力佳者一日可走4趟,得200多元收入,普通者两到三趟,逊色很多,而淡季游客减少,即使有余力也恐怕无处施展了。

所以,尽管经常能从网上看到有筏工索要小费的情况使游客感到不满,景区也在每处下水点都贴了醒目标语称严厉禁止任何理由索要小费,一经发现取消筏工证云云,但亲身经历后,我认为双方可以彼此多理解和担待一些。如果在航程中,游客提出一些服务要求,如寻找最佳地点或避开其它竹筏拍照、需要听取讲解等,尤其是延长了筏工劳动时间与付出额外精力的,给予小费也合情合理,丰俭由人,20,80,合意就好。

如果不存在这样的情况,那么最好就是双方忠实履行合约。在美好山水之间,共度一段旅程。遇龙河的漂流是我体验过的漂流中最为宁静的,甚至可以用文雅来形容。不是惊险的皮划艇游乐,也不会有游客之间的互相攻击嬉闹。这里的水流一直是和缓的,毫无波澜,即使遇到几个下坡,稍微握住椅子就好,也绝不至于窘迫狼狈。也许因为这是在阳朔,仅仅是欣赏山水和吹风,体验就已经很完整了。

CoUBXl955dGAN9VsAArkBOOdASk082

CoUBXl955dOAUX3cAAcI8J7_XB8050

漂流完毕之后,我们坐车回到阳朔,租了一辆电动车。在周边畅快骑行。过程体验很好。正如常听到的一句话,开车太快,走路太慢,骑车则刚刚好。

CoUBXl955fCALzFkAAqqqnUX7zo771

傍晚回到县里,还了车之后,我们又去逛阳朔西街。

这里的时尚和丰富程度远远超乎我意料,店铺设置品类足够丰富,不会失之单调,不像很多地方做成了趋同的美食街;各娱乐项目有较为妥贴的度,不用力过猛,不像有些地方的灯光过于艳俗。7点过后,人越来越多,越来越多,无穷的生命力在这里聚集,好一派妙趣横生的热闹盛景。

阳朔西街,在我去过的同类景点中无有出其右者——据说今年同期相比已经降低了人流,否则断然是走不动路的。

综合这两天的见闻,我渐渐明白为什么从2017年起,阳朔能与铁人三项比赛结缘了。这当真是一块气象万千的宝地。

Day5 再回桂林市区

早上退了房,我们从阳朔坐车回到了桂林市。赶在中午之前,我们来到了象山景区。

CoUBXl97G2OACLLzAAHs-BMGxSc563

这里最大的意义,就是可以从经典角度拍到象鼻山——桂林的标志性景点。除此以外,整个公园相当普通——或因从阳朔归来,审美标准不由自主提高——标准门票售价55元,是有点虚高的。

饭后,我们到了本次旅途的最后一个景点——靖江王府。

CoUBXl97HauAUOj2AAO2xOMVxr0463

这里的普通门票价是79元,我们游玩之后觉得十分值得。景区是配备导游的。认认真真跟着导游走完全套流程,花费1个半小时左右。包括视频演示、扎实的人工讲解、有趣的拓片动手体验,甚至最后还有一场Cosplay元素的代入式体验,可以说是内容丰富节奏紧凑了。标准流程结束后,还可以自由活动,比如登上66米高的桂林市区第一高峰——独秀峰。

CoUBXl97ILiARNvPAAgvm_Auyso650

这里可以自己体验简易版的拓片工艺,自己拓一个“福”字(万全福)。靖江王府的讲解重点围绕着我国的福寿文化,这里著名的福字有好几个,如天子福、全家福、醉有福、风水福、万全福等等。它们的拓片于2017年登上了央视春晚分会,之后走出国门,而对于我们,影响最深的无疑就是年年集五福了。

CoUBXl97IL2AftC_ABCE8sFauTE775

摩崖石刻上最著名的一句诗,“桂林山水甲天下”的出处。当然,来过这里的游客就能知道下面一句不是“阳朔山水甲桂林”了,原诗意思是劝学报国。

CoUBXl97IMGAPtexAA6ppeIf8AE007

游客们等待参加乾隆二十五年庚辰科广西乡试。这里至少有三个扮演角色,主考官,敲锣小兵,与游客互动、很快因小抄掉落而被取消资格的搞笑考生,十分有趣。

CoUBXl976QyAepVuAAKhu_TXmWs605

2分钟的考试,不能泄题。

CoUBXl97IMKAY3NLAANr6A2GXrE467

独秀峰顶。

在靖江王府,若自己游览,必定不得其中意味,入眼只是普通房子普通景物,网上差评大抵由此而来。而跟着导游则仿佛是体验了一场生动的电影,评价大不相同。希望游客们能多一点耐心,找到这个景点正确的打开方式。

王府之行为我们的这段旅程画上了完美的句号。这次,我每天都用碎片时间或者晚上回酒店后的时间写游记,编辑图片视频,确保赶上进度,终于坚持到了最后。

这是我的第一篇长游记,很有成就感。最想感谢夫人所做的一切:事先策划,各类事项打点,旅途中提供图片等等。因为你,我们才拥有了这份幸福,也希望我的表现给这份幸福加上了防褪色的保护。期待下一次的出发。

2020年10月5日夜于桂林曼舍酒店。

发表在 游记 | 留下评论

让写作省心一点——Markdown和CSS实践

1 引言

今天这篇推送和以往不太一样,乍一看就能发现格式有了变化。没错,这是我专门设计的品牌模板,也就是本公众号以后创作的文章可直接套用,获得一致的风格样式。

除此以外,文章里的全部元素(包括标题、表格、图片、列表、引用等)都能直接复制到其它博客平台(如wordpress、CSDN、博客园、知乎等)发布,且无需重新排版或上传图片。

本文中,我会先简要地介绍两个概念——Markdown和CSS——然后介绍一个通过编辑器软件Typora把它们结合起来使用,从而提升撰写和发布文章效率的方法。写文章的过程,对微信公众号平台来说,有近似“所见即所得”的体验。连内容带格式,写完直接复制粘贴到编辑器就可以发布了。

话不多说,我们开始吧。

2 保留格式的Markdown

当我们辛辛苦苦写完一篇图文后,如果想到不同的网站发布,用传统方式会很麻烦——格式需要重新调整,图也需要重新上传——而Markdown语言可以解决这个问题。

2.1 MarkDown语言

Markdown是一种可以使用普通文本编辑器编写的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。

——百度百科

假设我们在A网站的Markdown编辑器中,使用Markdown语法把一段文字标记为“一级标题”,那么当我们把这段内容复制到B、C、D网站,它同样也会被识别为一级标题,而不会被误认为普通正文、引用或链接等其它元素,也就是说,格式可以保留。下面是一个例子。

mark
上图中彩色符号即为Markdown标记

把文字和Markdown标记全选复制,粘贴到各个网站或平台的Markdown编辑器中,就能在预览界面看到正确格式了,如下图所示:

mark
右图展示了实际呈现效果

至此,文本的一次书写、多次使用,就实现了。

可能大家会疑惑:难道写文章时,还需要额外记忆和输入各种符号?不用担心,在电脑和手机端,分别通过快捷键和点击屏幕就行了,无需手打,各类Markdown编辑器通常都支持。

mark

除了上述便于复制的优点以外,Markdown同样改变了写作体验。它可以使得我们在手不离开键盘的情况下,既能输出内容,又能排版,从而提高效率。

2.2 Markdown支持的常见格式

Markdown所能标记的文字格式,对于普通写公众号或博客的需求已经基本够用,以下列出一部分常用的:

  • 标题,从H1到H6,字体大小递减
  • 有序/无序列表
  • 引用
  • 代码块
  • 公式块
  • 分割线、脚注、链接
  • 简单表格

本文就完全是用Markdown来写的。到目前为止,已经出现了标题、引用、无序列表,在下文会有更多格式出现。

2.3 图床

之前的叙述都是关于文字,下面说图片。图片对于内容表达的重要性不言而喻,一篇文章中可能含有多达数十张图片。当同一篇文章在不同平台要发布时,按原始方法,需要把图片分别在不同地方一张张重新上传并插入至正确位置,非常繁琐。要解决这个问题,需要使用图床。

图床就是专门用来存放图片,同时允许你把图片对外连接的网上空间。

——百度百科

图床是专门存放图片的地方,其中每张图片都会得到一个URL地址(在网络上的唯一地址,类似于网站地址),写文章时填写该地址就找到对应的图片并插入。因为图片的URL是唯一的,所以我们在Markdown代码中对图片的引用,无论复制到哪个Markdown编辑器都起效(除非该网站禁止图片外部链接)。

本文用到的所有图片都存放在七牛云图床的10GB免费对象存储空间中,但七牛云仅提供一个月的临时域名供测试,如果想长期使用,就需要绑定中国大陆已备案的域名。域名备案需要有域名和服务器,有一定成本产生,我会把相关经验放在本文的附录部分。也有免费图床方案,但研究它们的时间成本过高,我没有采用。

3 决定排版样式的CSS

Markdown可以定义文章中内容属性——这句话是正文,那句话是标题——整篇文章都安排得明明白白,但它不能定义它们的外观,比如一号标题的大小,是什么颜色,有没有边框等。这些是由CSS完成的。

3.1 CSS语言

CSS层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言)的一个应用或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

——百度百科

听起来,CSS是计算机语言,对普通人来说太复杂,但其实它很容易上手,用记事本就能写,把后缀名改为.css就可以。下面举个例子。

h3 {
   font-size: 1em;      
   /*字号*/
   
   line-height: 1.43;  
   /*行高*/
   
   text-shadow: 0.08em 0em rgb(144,174,176);  
   /*字体阴影粗细、方向、颜色*/
   
   padding-left:3px;    
   /* 左缩进 */
}

这就是本文中3号标题的css代码。我们把字号,行高的数字改改,颜色换一个rgb值或16进制值,再保存,就能改变相应样式。所以,在现成的CSS模板上稍加修改,是效率最高的方法。

3.2 我的CSS规范

我用下面两个“表格”列出本文的CSS规范,你们可以很容易地看出它们的“身份”不是图片。另外,样式上有一些瑕疵,不够美观。其实,这一方面是因为Markdown本身对于表格的编辑功能有限,另一方面是因为受到了微信公众号的默认CSS规范的影响。

颜色规范如下:

主题内容备注
主品牌色红色H2标题
副品牌色青色1引用
字体色深灰
辅助色淡灰分割线、表格
备注色青色2备注、文字阴影
模块色青色3H1标题

HTML元素规范如下:

元素属性用途
H1斜体+阴影
H2主题色边框+粗体
H3字体阴影
H5备注色,缩小字符间距图片注解
H6引用色、斜体、右对齐作者、出处等
有序列表第一层数字、第二层小写字母
引用引用色、斜体

4 结合Markdown与CSS

4.1 Typora

至此,好戏终于即将上演。给大家介绍一款软件——Typora,它有Mac版和Windows版,目前还在测试阶段,是免费的。

首先,它是一个写作体验良好的Markdown编辑器。其次,它可以调用CSS文件来更改显示效果——我们可以自定义CSS文件来建立个人风格。最后,图文写完后可以直接全选复制,粘贴到各类支持Markdown的编辑器中。对于微信公众号来说, 最后展现效果绝大部分和Typora中写作时相同。

4.2 Typora的主题选项

mark
主题实质为调用css文件

下面,通过动图来感受一下,同样的内容在不同主题下的效果。

mark
如图,选择不同主题可立刻改变全文排版

4.3 写作体验

下面是我录制的一段Demo动画。可以看到,通过简单的快捷键,就可以实时地调整格式+样式。写文章真正有了行云流水的感觉。

mark

主要内容到这里就结束了,希望对大家有用。如果有更多内容想探讨,可以给我号内留言,我知道的都可以分享。下面是附录,额外补充一些技术信息。

附录

关于域名备案

为了使用图床,我采用的是阿里云的域名+服务器+域名备案服务。步骤如下:

  1. 阿里云购买ecs云服务器:新人第一次购买有优惠(3年不到200),到期后更换最便宜的即可。(分钟级)
  2. 阿里云购买域名:按需选择,便宜的贵的都有,越短越贵。(秒级)
  3. 阿里云备案产品服务,提交备案:过程中如遇到域名曾经备案过持有人,须办理域名过户。(小时级)
  4. 阿里云备案初审。(1天内客服会打电话确认信息)
  5. 管局审核,大约10天开通成功,收到通知短信提示将已备案标识放置在网页中。

文章多发的其它方法

我试过在Word里面编写图文,通过插件导入的方式上传到公众号或者Wordpress博客,这种方法使用场景有限制,大多数网站都没有这样的插件,而且操作毕竟繁琐,不推荐。

参考资料推荐

https://zhuanlan.zhihu.com/p/97868759

  • 介绍markdown多平台发布及七牛图床使用

https://sspai.com/post/59091

  • 关于公众号的排版规范和CSS

https://www.colorhexa.com/

  • 颜色16进制和RGB转换
mark
mark
发表在 效能 | 标签为 , , | 留下评论