壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3942|回复: 22

[操作系统与服务器] [分享知识 原创连载]我的运维工程师工作和学习技术记录,欢迎大家拍砖

[复制链接]
发表于 2013/7/8 19:48:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本文为 "分享知识 原创连载" 活动推荐文章!

也是受纵横四海的推荐和鼓励,也才准备写这个
我的工作是运维方面的,内容可能是比较杂,系统、网络各个方面可能都有
第一天来,没什么准备,转自己博客上以前写的一篇文章给大家看看

点评

把你的标题稍微作了调整  发表于 2013/7/9 10:13

本帖被以下淘专辑推荐:

发表于 2013/7/9 09:15:58 | 显示全部楼层
个人简介:  本人也算是“攻城狮”杂兵一个,工作是运维方面的
连载主题:说实话没什么特定主题,都是我工作或学习中的一些技术性记录,类型方面有点杂,系统、网络、企业内部桌面管理、脚本编程等,就是“俺是一块砖,哪需要就往哪搬”
本连载的亮点是: 没特别的亮点,工作或学习中记录
计划发布在那个板块:  服务器与操作系统
更新周期:不太能确定,应该一个月一篇还是没问题的吧
其他要说的话: 没啥说的了,欢迎大家拍砖{:soso_e151:}

纵横四海点评:运维工程师就是杂家,需要对各个方面的知识都要有涉猎,比如服务器,网络,Linux,存储等;因为知识要求多,且比较繁杂,所以通过一个帖子来对自己的知识进行一个梳理确有必要;希望学习运维的朋友,请不要错过;这些繁杂的知识楼主可以在有空的时候拿出来翻阅,这样知识就会形成体系;也更自信了;
 楼主| 发表于 2013/7/8 19:51:37 | 显示全部楼层

第一篇、配置Nginx反向代理Exchange 2007上的OWA

最后刚刚完成Exchange项目正式上线工作,考虑到一些用户的特殊要求,打算将OWA发布到公网,考虑到安全因素,不采用端口映射方式,另外也因为一些其它原因,没有采用微软建议方式,采用ISA发布。(网上资料很多,已有很多成熟的方案,如无成本等方面原因,建议采用,主要是方案很成熟,省事。^_^)
上面提了这么多要求,但是工作还得做,想了下,本质上就是让用户能在公网上能直接访问到OWA,但又不是直接访问到,所以想到这,就是加个中间人角色,让它帮忙把公网用户的要求传给内网服务器,说白了其实就是一反向代理。
应用反向代理的软件有很多,squid,nginx等等大大有名,因为nginx现在很流行,且此软件占用资源少,等优点,就在自己喜欢的gentoo上并应用了。
下面给出此代理的部分网络架构图,大家看了就明白了是怎么回事了。
下面就正式开始配置工作
Exchange Server Name:  msg114.sunwill.cn
OWA Internat Name: outlook.sunwill.cn
一、系统及nginx安装   ~略,这个很简单的,大家都知道的

二、在Proxy上生成ssl证书,这一步很重要,当然,如果已经有申请到证书,就直接拷过来用就行,没必要用自生成的证书。
# mkdir /etc/nginx/ssl.crt
# mkdir /etc/nginx/ssl.key

Make sure to:
- Copy your certificate file to: /etc/nginx/ssl.crt/
- Copy your certificate key file to: /etc/nginx/ssl.key/
证书生成过程,大家可以在网查到,网上也有很多教程,只要生成了证书,放到上面两个目录中就行,nginx进行代理转发时用得到

三、就是配置OWA的反向代理了,配置文件如下所示
edward@jt-it001:~$vim /etc/nginx/conf.d/owa.conf
server {
        listen       80;
        server_name outlook.sunwill.cn;

        # Redirect any HTTP request to HTTPS
        rewrite ^(.*) https://outlook.sunwill.cn$1 permanent;
        error_log  /var/log/nginx/outlook.sunwill.cn-owa-error.log;
        access_log /var/log/nginx/outlook.sunwill.cn-owa-access.log;
        }

server {
        listen       443;
        server_name outlook.sunwill.cn;

        auth_basic      "sunwill";
        auth_basic_user_file    nginx_passwd;

        # Redirect from "/" to "/owa" by default
        rewrite ^/$ https://outlook.sunwill.cn/owa permanent;

        # Enable SSL
        ssl                     on;
        ssl_certificate         /etc/nginx/ssl.crt/outlook.sunwill.cn.crt;
        ssl_certificate_key     /etc/nginx/ssl.key/outlook.sunwill.cn.key;
        ssl_session_timeout     5m;

        # Set global proxy settings
        proxy_read_timeout      360;

        proxy_pass_header       Date;
        proxy_pass_header       Server;

        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

        location /owa      { proxy_pass https://msg114.sunwill.cn/owa; }
        location /exchange { proxy_pass https://msg114.sunwill.cn/exchange; }
        location /exchweb  { proxy_pass https://msg114.sunwill.cn/exchweb; }
        location /public   { proxy_pass https://msg114.sunwill.cn/public; }
        location /Microsoft-Server-ActiveSync { proxy_pass https://msg114.sunwill.cn/Microsoft-Server-ActiveSync; }

        error_log /var/log/nginx/outlook.sunwill.cn-owa-ssl-error.log;
        access_log /var/log/nginx/outlook.sunwill.cn-owa-ssl-access.log;
        }

最后一点,因为机器是放在DMZ中,所以有可能,其实也没必要让Proxy访问内网的DNS服务器,直接配置系统的/etc/hosts文件即可。让Proxy把资源反向代理到正确的服务器。
echo "192.168.103.200    msg114.sunwill.cn   msg114" >> /etc/hosts

最后一些说明,
1.公网域名outlook.sunwill.cn指向到Proxy的公网地址
2.安全方面的一些考量,老生常谈了,服务器开启防火墙,只对外开户指定端口,服务器只运行需要的服务
3.自建证书是因为nginx有启用ssl,所以需要,可以直接用linux上自建的证书,此证书不一定要与exchange服务器上的证书一样,当然如果有申请正式的证书,肯定是用这个了
4.host记录一定要有,当然你愿意在DMZ区的防火墙上开户至内网的DNS查询,也可以,只是降低了相关安全性而已。

 楼主| 发表于 2013/7/10 09:00:33 | 显示全部楼层
第二篇、Linux下FTP Server评估(vsftpd、pure-ftpd、proftpd)

首先大家可以参考参考这篇文章
http://systembash.com/content/evaluating-ftp-servers-proftpd-vs-pureftpd-vs-vsftpd/
我觉得其中写得很不错,结合自己的部分测试经验,很是认同其中的观点

根据各人的需求不同,所以FTP选择也是不一样,就几个方面介绍一下
假如你是需要一个支持很多外部模块和可以灵活配置的FTP服务器,那你可以选择: ProFTPd
假如你是需要一个很容易配置而且很安全的的FTP服务器,向你推荐:  PureFTPd
假如你需要的是超高性能且高安全性的FTP服务器,那就是: vsftpd

个人认为(分以下几方面说(左边最优)):
易用性
PureFTPd > ProFTPd > vsftpd
功能性
ProFTPd > PureFTPd > vsftpd
安全性
vsftpd > PureFTPd > ProFTPd
性能
vsftpd > PureFTPd > ProFTPd
附:就易用性和功能性来说,这个评定我是认为没问题的
而其中pureftpd的安全性优于proftpd的理由是:proftpd是由wu-ftpd增加安全性重新修改而来,旧版的proftpd如果不会打安全补丁反而容易受攻击(当然也是这个软件很受欢迎的原因),新版本的安全性应该是比较好了。另外pure-ftpd在设计之初就是考虑安全,个人认为pure-ftpd稍微好一点,这个是个人主观感觉,没有测试过,仅供参考。
性能方面也把pureftpd放在proftpd之前,其实也是主观感觉,实际上这两者应该是差不多的,但是有数据表明,pure-ftpd进程的内存占用方面是比proftpd占用得较少。所以这个也只得委屈proftpd了。
总结:总体来说,这几款FTP软件选择主要看你的实际需求,是否偏重于哪方面。另外pureftpd和proftpd实际上差不多,具体选择也看个人喜好。

下面则是这些FTP软件的主站点和管理工具站点,记录一下
Pure-FTPD
http://www.pureftpd.org/project/pure-ftpd
Pure-FTPd管理工具
http://www.debianhelp.co.uk/pureftpweb.htm
PureUserAdmin
http://pureuseradmin.sourceforge.net/
User manager for PureFTPd
http://machiel.generaal.net/index.php?subject=user_manager_pureftpd
PureAdmin 0.3 (PHP) PureFtp 后台管理工具
http://www1.yiyou.org/60PureAdmin_03_php.html

ProFTPD
http://www.proftpd.org/
proFTPd Administrator
http://proftpd-adm.sourceforge.net/index.php
Proftp Server Web interface or GUI Tools
http://www.debianhelp.co.uk/proftpweb.htm

点评

这个有用  发表于 2013/8/14 05:31
发表于 2013/7/10 09:16:30 | 显示全部楼层
楼主是否可以后面写写如何对Apache进行优化?比如一些常见参数(默认值)的修改提升访问性能呢?
 楼主| 发表于 2013/7/11 20:48:46 | 显示全部楼层
纵横四海 发表于 2013/7/10 09:16
楼主是否可以后面写写如何对Apache进行优化?比如一些常见参数(默认值)的修改提升访问性能呢?

可以考虑下,不过现在虽然说apache在服务器上的应用非常多,但就网站服务器来说近两年更流行的是nginx,有兴趣的可以参考《实战Nginx_取代Apache的高性能Web服务器》这本书,在国内来说,还算是不错的一本书
 楼主| 发表于 2013/7/17 15:31:15 | 显示全部楼层

,

本帖最后由 edgeman03 于 2013/7/18 08:25 编辑

因为各种原因造成了HR数据库的负载增加,就把内存扩大到了20G,用了一段时间后,发现性能未能改善多少,检查发现是操作系统版本为32位windows2003企业版,SQL也是32位SQL2005,不支持大内存造成了内存未使用从而使性能未提升,马上开启系统PAE和SQL的AWE,现在性能没问题了
但又没过多久,出现K3中间层和HR应用等连接数据库不正常,临时解决办法:重启SQL服务后正常,临时写了个脚本自动重启SQL服务的,隔几天重启一次
查阅官方资料,发现主要原因还是32位系统对大内存支持不够好的原因,SQL查询过多造成内存占用过大,但SQL自动释放又没成功,结果卡在那了
看来还是得把系统和SQL升级到64位才行,经过一番协调沟通,计划7-17号,明天正式实施

今天临时模拟测试一下数据库的备份和恢复
明天的主要工作过程:
1.磁带备份数据库,包括master数据库和应用数据库等(因为有很多安全帐户信息,以前的遗留,而且未知啥用)
2.备份系统
3.检查备份是否正常
3.分离应用数据库,再次用系统自带工具备份master系统数据库(完全备份),msdb和model数据库也需要完整备份
4.重装系统和SQL
5.恢复数据库,应用数据库直接附加就行了,master数据库恢复稍微麻烦一点,需要进程单用户模式下虱,具体操作如下所示,msdb和model数据库直接恢复就行了
6.详细检查,是否恢复成功,这个由系统组负责HR的同事负责

希望一切顺利

windows sql2005中备份和还原master数据库实验:由于公司服务器出现硬件问题,导致MASTER数据库崩溃,数据库管理系统无法启动,要求管理员恢复数据库系统。 1:备份MASTER数据库。在系统崩溃前应做的备份。

8084747_1.jpg

8084747_2.jpg



2:破坏MASTER文件,模拟数据库系统崩溃。
停止SQLSERVER服务,更改数据库文件master.mdfmaster1.mdf
再次启动SQL SERVER服务,系统提示错误。因为服务找不到master.mdf文件,所以启动不了服务。

8084747_3.jpg


3:运行安装文件SETUPEXE,重建master数据库
运行输入cmd,start /wait d:setup.exe /qn INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engin REBUILDDATABASE=1 SAPWD=123456
8084747_4.jpg

4:重新启动服务,发现master.mdf文件新建了,服务可以启动了,SA进入服务器。发现只有系统数据库,其他配置和数据库没有了。
8084747_5.jpg
8084747_6.jpg


5:停止服务,启动单用户模式。运行:c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn>sqlservr.exe –c –m
注意后面的命令少个字母e .sqlservr不是sqlserver

8084747_7.jpg


6:打开SSMS工具,先断开连接,再新建查询,不用sa登陆,用系统自带管理员单用户。
输入:
use master
go
RESTORE DATABASE master
from disk='c:\Program Files\Microsoft SQL Server\MSSQL.1\Backup\master.bak'
WITH REPLACE
8084747_8.jpg



7:重新启动数据库服务,用sa进入系统,可以看到其他数据库出现了。实验成功!




   8084747_9.jpg

点评

哥们,你的图片需要重新上传,然后插入到帖子中  发表于 2013/7/18 07:09
发表于 2013/7/19 10:04:51 | 显示全部楼层
不错不错,楼主加油。mark一下
发表于 2013/7/20 06:19:32 来自手机 | 显示全部楼层
加油,我在坝上给你加油;来自: iPhone客户端
 楼主| 发表于 2013/7/20 14:02:27 | 显示全部楼层
升级已经完成了,虽然过程有点小意外,但现在是已经结束了
记录一下过程

需求:sevdb系统和MSSQL200532位重新安装升级为64
原因:硬件升级,原系统环境支持不够好
过程:
2013-07-17 整体模拟测试①,模拟方式,先模拟安装现在SQL环境,再执行升级过程
2013-07-18
1.      使用Backup exec对数据库进行磁带备份
2.      使用MSSQL自带工具备份系统数据库②
3.      系统备份
4.      重装windows2003x64系统(这个地方浪费了一些时间,最后确定是服务器光驱坏了,PXE也不支持,最终采用U盘安装)
5.      安装R2,添加IIS组件(MSSQL2005安装需要)
6.      将D盘原SQL安装目录重命名,如果将数据库安装至原目录位置时,原目录不能包含原默认实例数据库等。
7.      安装MSSQL2005和SP4补丁,除安装位置变更为D盘外,其它设置值保持默认。因为是英文版WIN2K3系统,所以其中语序规则默认为SQL_Latin1_General_CP1_CI_AS,实际上应该选成跟旧有数据库一样的Chinese_PRC_CI_AS规则,当时是没选,所以造成了备份还原后的排序规则冲突③
8.      先还原master数据库,恢复方法见①
9.      恢复master数据库成功之后,此时启动MSSQL服务,提示17204 错误,大概意思是找不到D:\Program Files\Microsoft SQL Server\ MSSQL\Data下的model,msdb,msqlsystemresource,tempdb等数据库之类的,而实际上新安装的MSSQL2005的数据库目录为D:\ProgramFiles\Microsoft SQL Server\MSSQL.1\MSSQL\Data
10.  临时解决办法:将原来数据库目录拷贝到提示的目录,再重启服务,成功
11.  采用迁移数据库文件的方式,具体查看④
12.  迁移成功之后,删除旧的数据文件即可,按道理此时应该没问题,但因为在第6步时没有选择语序规则,所以会出现类似“SQL_Latin1_General_CP1_CI_AS”和“Chinese_PRC_CI_AS”之间的排序规则冲突”的提示,解决办法:采用方法③重建master数据库,重新选择语序规则(查阅相关资料,还有其它方法,1是重新安装过数据库2是采用SQL语句将master数据库中相关的语序规则全部替换掉)
13.  检查数据完整性,确定整次升级是否成功。


点评

很仔细噢  发表于 2013/8/1 14:07
 楼主| 发表于 2013/8/14 00:17:06 | 显示全部楼层
已经很久没来更新了,在想再不来,可能胡总都有意见了
接着上次的继续记录

这次是一个问题记录,在上次的数据库服务器升级完成之后的几天,同事说有个数据库链接有问题,看不到另外一个数据库的数据,需要检查一下,查了一下,那个链接还存在,但访问时提示密码错误,实际上密码是对的,删除链接后重建也是同样的提示
大概错误如下:
消息 15466,级别 16,状态 2,过程 sp_addlinkedsrvlogin,第 91 行
解密过程中出错。
消息 15185,级别 16,状态 1,过程 sp_addlinkedsrvlogin,第 98 行
没有从远程服务器 'XXXXXX' 映射到本地用户 '(null)' 的远程用户 'XXXXXXX'。

​
查了下资料,处理办法如下:
在本地服务器上执行:
​ALTER SERVICE MASTER KEY FORCE REGENERATE
这个语句的功能是重新生成本地服务器的主密钥。

猜测可能是服务器和SQL程序都重新安装和升级过后,密码已经被更新,所以原密码读取不了


 楼主| 发表于 2013/8/14 00:27:53 | 显示全部楼层
本帖最后由 edgeman03 于 2013/8/14 09:29 编辑

在解决密钥的问题后,接着重建链接(方法如下)(是用sa帐户创建的),这次是没问题了,就高高兴兴的下班了,结果第二天同事告诉我,说还是访问不了,用同事的帐户登录测试了下,大概如下提示
6.png
根据提示来说,意思就是这个用户没权限,
Use master
GRANT EXECUTE ON sys.xp_prop_oledb_provider TO [caryhsu]
GO
那 就给这个用户这个权限了,结果竟然提示这个用户不存在(实际上这个用户是存在的),现在这个问题还在研究下,有熟悉MSSQL的也可以帮助一下我,谢谢
网上找了些资料和个人猜测,重新修复一下这个用户或者重建这个用户,应该是能解决问题的

创建数据库链接的方法---参考:

        最近接到需要進行SQL ServerOracle的連接需求,想當然可以透過 Linked Server來進行解決,但是需要管控那些人可以存取,所以在權限上的設定就需要進行一些調整,而目前上可以設定那些使用者可以執行 Linked Server,無法單一設定是否可執行,所以Oracle上的帳號密碼就需要特別小心管控,以免利用此為跳板造成資料查詢上的漏洞,下列就介紹一下如何進行權限上的設定。


Linked Server 架構:

1.gif
1、新增使用者,並設定最小權限:
2.png
2、因為此帳號不需太大的權限,所以請記得下列的 [sysadmin] 不要勾選,要不然也會直接給予Linked Server執行的權限,也等同DBA的權限。 3.png
3、由於只有簡單的查詢資料而已,所以建議可以只要再勾選設定db_datareader即可。
4.png
4、因為在開啟Linked Server的單獨權限時,需要可以進行Master的權限,所以Master的部份只需給予預設的 [public] 的權限,其他的權限都不用給。
5.png

5、新增完成使用者後,由於只有最低權限,雖然可以看到Linked Server,但是當要展開細部的資訊時,由於沒有執行的權限,但是執行後會看到下列的警告訊息:


6、最後執行下列的指令後,就可以讓使用者 [caryhsu] 執行Linked Server了。

Use master
GRANT EXECUTE ON sys.xp_prop_oledb_provider TO [caryhsu]
GO

点评

重新修改了下,现在没有了  发表于 2013/8/14 09:30
oh ye  发表于 2013/8/14 05:44
图片好像有问题;有小圆圈在动;  发表于 2013/8/14 05:31
 楼主| 发表于 2013/8/21 23:45:23 | 显示全部楼层
本帖最后由 edgeman03 于 2013/8/21 23:50 编辑


最近刚刚忙完python的网络课程,终于混完课程了{:soso_e144:}
下面传的是交换机配置自动备份脚本,(算是学有所用,凑和着用{:soso_e121:}{:soso_e120:})

代码:
baksw1.zip (887 Bytes, 下载次数: 0)

点评

互相学习  发表于 2013/8/22 08:42
跟以前比都懒了很多了。。。现在也差不多是在混日子,打算学oracle,你们都可以指点下  发表于 2013/8/22 08:24
你还真是有功夫;有理想有抱负的孩子啊;  发表于 2013/8/22 05:46
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备12025635号 京ICP证120590号 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2020/5/26 12:16 , Processed in 0.044125 second(s), 20 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表