由于kernel.org被黑,已经将内核源代码迁移到https://github.com/了。所以下载最新的内核源代码在这里https://github.com/mirrors/linux/downloads
作者归档:SK
nfs优化
1.设置块大小
mount命令的risize和wsize指定了server端和client端的传输的块大小。 继续阅读
linux几个有用的设备文件
Linux上一切都是文件!
云计算与虚拟化Openstack介绍
云计算与虚拟化Openstack介绍
随着云时代的来临,我们离云服务越来越近。我们身边出现了很多云计算的产品,比如苹果的App store、Linode的VPS、Google的App Engine。其实从云计算的分类来说就是三种:
继续阅读
如何判断Linux 是否运行在虚拟机上
判断 OpenVZ/Xen PV/UML
判断 OpenVZ/Xen PV/UML 是最容易的,直接检查 /proc 下的相关目录和文件就可以知道,比如 OpenVZ VPS 上会有 /proc/vz 这个文件;Xen PV 虚拟机上会有 /proc/xen/ 这个目录,并且目录下有一些东西;UML 上打印 /proc/cpuinfo 会找到 UML 标志。写了一个简单的 Python 脚本来检测:
#!/usr/bin/python
# check if a linux system running on a virtual machine (openvz/xen pv/uml)
# written by http://www.vpsee.com
import sys, os
def main():
if os.getuid() != 0:
print "must be run as root"
sys.exit(0)
# check OpenVZ/Virtuozzo
if os.path.exists("/proc/vz"):
if not os.path.exists("/proc/bc"):
print "openvz container"
else:
print "openvz node"
# check Xen
if os.path.exists("/proc/xen/capabilities"):
if (os.path.getsize("/proc/xen/capabilities") > 0):
print "xen dom0"
else:
print "xen domU"
# check User Mode Linux (UML)
f = open("/proc/cpuinfo", "r"); t = f.read(); f.close()
if (t.find("UML") > 0):
print "uml"
if __name__=="__main__":
main()
判断 VMware/Xen HVM/KVM
如果使用的是 VMware/Xen HVM/KVM 这样的全虚拟就更难判断一些,最准确的办法是读取 CPUID 来判断,Xen 源代码下面有一段检测是否是 Xen 的 C 语言代码 tools/misc/xen-detect.c,这段代码提供了一个很好的例子,VPSee 重写了代码,用宏替代了函数,增加了对 VMware 和 KVM 的识别,用 gcc 编译后就可以运行:
/*
* check if a linux system running on a virtual machine (vmware/xen hvm/kvm)
* written by http://www.vpsee.com
*/
#include stdio.h
#include string.h
#define HYPERVISOR_INFO 0x40000000
#define CPUID(idx, eax, ebx, ecx, edx) \
asm volatile ( \
"test %1,%1 ; jz 1f ; ud2a ; .ascii \"xen\" ; 1: cpuid" \
: "=b" (*ebx), "=a" (*eax), "=c" (*ecx), "=d" (*edx) \
: "0" (idx) );
int main(void)
{
unsigned int eax, ebx, ecx, edx;
char string[13];
CPUID(HYPERVISOR_INFO, &eax, &ebx, &ecx, &edx);
*(unsigned int *)(string+0) = ebx;
*(unsigned int *)(string+4) = ecx;
*(unsigned int *)(string+8) = edx;
string[12] = 0;
if (strncmp(string, "XenVMMXenVMM", 12) == 0) {
printf("xen hvm\n");
} else if (strncmp(string, "VMwareVMware", 12) == 0) {
printf("vmware\n");
} else if (strncmp(string, "KVMKVMKVM", 12) == 0) {
printf("kvm\n");
} else
printf("bare hardware\n");
return 0;
}
判断 VirtualBox/Virtual PC
什么?这种家用桌面虚拟机自己装的还会不知道?!如果不知道的话也有办法,在 Linux 下运行 dmidecode 工具然后查找 Manufacturer: innotek GmbH, Manufacturer: Microsoft Corporation 关键字就能对应上 VirtualBox 和 Virtual PC.
gd乱码的问题
今天gd发现用中文生产图片的时候乱码。
搜索了一下,说是由于GD库编译时添加了: –enable-gd-jis-conv 的支持( GD: Enable JIS-mapped Japanese font ) , 在phpinfo()里也可以看到:JIS-mapped Japanese Font Support的支持为enable 继续阅读
Flashcache高性价比的存储结构
闪存的随机读写性能所折服,故在生产环境中就出现闪存的大量使用,而又随着数据量的不断增长,SSD、Fusion-IO单盘容量小的限制,如果增加容量以适应容量,那么就必须添加更多的盘,这样价格就会越来越多,这样就滋生了FlashCache技术的大量使用。 继续阅读
修复无法进入的xen虚拟机
目的:修复无法进入的xen虚拟机。 继续阅读
haproxy安装配置调优
HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。根据官方数据,其最高极限支持10G的并发。 继续阅读
CentOS 5.7发布i386 和 x86_64版本
CentOS项目发布了CentOS 5.7。“CentOS-5.7基于EL 5.7的上有发行,包含了来自包括服务器和客户端的所有变体的包库。所有上游仓库都被集成到了一个当中,使之更加适宜于最终用户使用。”发行注记里有更多细节。
下载地址:
http://mirrors.163.com/centos/5.7/isos/
http://mirrors.sohu.com/centos/5.7/isos/