最近公司一个项目上服务器发生故障,如下图:
服务器是read0来设置的磁盘空间,这势必导致现在的麻烦,只要一块硬盘出现问题,所有硬盘都不能使用,并且会出现数据丢失,数据恢复还需要请专业团队来进行数据恢复。
现在数据硬盘出现橘色灯在闪烁伴随着绿色灯一起闪烁,----》证明硬盘已经出现问题,启用了保护机制,

微信图片_20181224144113.jpg

微信图片_20181224144129.jpg

微信图片_20181224144133.jpg

清除foreign步骤:

注:该操作可能会对foreign盘数据有影响,清除foreign前请确保机器重要数据已备份好!!

1、首先得先按ctrl+n切到PDMgmt查看硬盘处于"foreign"

  1. 按ctrl+n切到foreign view界面,在最上面一行按F2,会出现foreign config选项,回车,
    1.jpg

①若是选择input(导入),可能导入成功也可能导入失败,若导入成功之后就能将阵列信息导入到该盘,再回PDMgmt查看硬盘状态,硬盘状态会变为 rebuild,等待重建成功就可以了;若导入失败,回PDMgmt查看硬盘状态,硬盘状态会变为foreign或者ready,若是foreign则需要确认数据安全 进行下面clear(清除)操作;若是ready 后续按照附录步骤去操作即可。
2.jpg

②若是选择clear(清除),PDMgmt中硬盘状态会直接变成ready,后续就按照附录步骤去操作即可。

设备报错出现的问题,数据出现数据的情况下,数据处理,现在硬盘故障已经排除,现在出现的是系统问题,排除需要使用更高版本的PE软件进入系统,(幸运的是公司服务器重启之后故障自动排除,唯一出现问题是:故障硬盘绿色和橘色灯在交替闪烁,示意硬盘已经损坏,需要故障更换)
微信图片_20181224144137.jpg

数据迁移的工具有很多,基本SSMA团队已经考虑到其他数据库到SQL Server迁移的需求了,所以已经开发了相关的迁移工具来支持。

此博客主要介绍MySQL到SQL Server数据迁移的工具:SQL Server Migration Assistant for MySQL 的使用.

从上面链接的官网下载安装.

第一步:创建一个迁移工程

1.png

需要注意的是你需要选择迁移到的SQL Server数据库的版本,目前支持:SQL Azure,SQL Server 2005,SQL Server2008,SQL Server 2012,SQL Server2014,根据实际需要选择你要迁移到目标数据库的版本。

第二步:连接源数据库和目标数据库

2.png
3.png

上面的是源:MySql,下面的是目标:SQL Server

第三步:选择需要迁移的数据库创建迁移分析报告

此报告会分析当前需要迁移的数据库中的所有表结构并会生成一个可行性报告
4.png

生成的报告如下:分析需要转换的对象,表,数据库有多少个,是否存在不可转换的对象等信息,如有检查错误会下下面输出
5.png

 第四步: 转换schema 也就是数据库结构

否则转换的数据库结构是不会到目标数据库的
6.png

点击同步之后同样会有一个同步的报告:
7.png

点击ok之后就真正执行同步操作会将你转换完的结构同步到目标数据库上,创建对应的表及其他对象。同步操作完成之后会有如下输出:
8.png

第六步:结构同步完成之后接下来就是数据迁移操作了

我们可以看到右边有几个tab页,当前选中的是Type Map,会列出源数据库和目标数据库的字段类型的mapping关系
9.png

因为不同数据库之间的数据类型还是有所差异的。
10.png

点击Migrate Data之后需要再次确认输入源数据库密码和目标数据库密码,然后开始真正的数据的迁移。

一、修改打包形式
在pom.xml里设置 <packaging>war</packaging>

二、移除嵌入式tomcat插件
在pom.xml里找到spring-boot-starter-web依赖节点,在其中添加如下代码,

<dependency>

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除嵌入式tomcat插件 -->
<exclusions>
    <exclusion>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
    </exclusion>
</exclusions>

</dependency>
三、添加servlet-api的依赖
下面两种方式都可以,任选其一

<dependency>

<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>

</dependency>
<dependency>

<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>8.0.36</version>
<scope>provided</scope>

</dependency>
四、修改启动类,并重写初始化方法
我们平常用main方法启动的方式,都有一个App的启动类,代码如下:

@SpringBootApplication
public class Application {

public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
}

}
我们需要类似于web.xml的配置方式来启动spring上下文了,在Application类的同级添加一个SpringBootStartApplication类,其代码如下:

/**

  • 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
    */

public class SpringBootStartApplication extends SpringBootServletInitializer {

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    // 注意这里要指向原先用main方法执行的Application启动类
    return builder.sources(Application.class);
}

}
五、打包部署
在项目根目录下(即包含pom.xml的目录),在命令行里输入:
mvn clean package -Dmaven.test.skip=true即可, 等待打包完成,出现[INFO] BUILD SUCCESS即为打包成功。

然后把target目录下的war包放到tomcat的webapps目录下,启动tomcat,即可自动解压部署。
最后在浏览器中输入

http://localhost:[端口号]/[打包项目名]/

发布成功

linux系统是相对安全的,查看自己系统的连接状态的命令:
(我们看到当前有两个root在远程连接服务器)
last
w

Linux使用netstat命令查看并发连接数

我们的网站部署在linux的服务器上,特别是web服务器,我们可能有时候做为运维人员,肯定是要查看网站的并发连接数是不是达到瓶颈等,所以在linux下,我们如何查看服务器的并发连接数呢?使用以下命令即可分组查看各种连接状态哦:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
复制代码
解释:

返回结果示例:
LAST_ACK 5 (正在等待处理的请求数)
SYN_RECV 30
ESTABLISHED 1597 (正常数据传输状态)
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057 (处理完毕,等待超时结束的请求数)

状态:描述
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉
复制代码
使用这上面的命令是可以查看服务器的种连接状态,其中ESTABLISHED 就是并发连接状态的显示数的了。如果你不想查看到这么多连接状态,而仅仅只是想查看并发连接数,可以简化一下命令,即:

netstat -nat|grep ESTABLISHED|wc -l
1164
这个返回的数字就是当前并发的连接数的了。