网站运维、系统运维管理研究
2008/10/29L i n u x系统

没有评论
67 views

LVM 首次实践笔记

很早就想试实践一下LVM卷管理,只是没有用到那个应用,一直搁着,今天乘着有点时间有点兴趣……

1、LVM安装

[root@FT-L254136 ~]# rpm -qa |grep lvm
lvm2-2.02.32-4.el5

这里默认已经安装, 所以不需要再安装,如果没有安装的就装上这个RPM,本例是在centos 5 上TEST,可以直接yum安装;
默认内核也已经支持

2、分区
fdisk /dev/sdc

[root@FT-L254136 ~]# fdisk /dev/sdc

The number of cylinders for this disk is set to 8924.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sdc: 73.4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdc1 1 8924 71681998+ 83 Linux

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

类型选择为8e LVM类型,同理增加/dev/sdb1

注:本例以不通物理磁盘/dev/sdb1 /dev/sdc1做LVM,这里其实也可以是同一物理磁盘的不同分区

继续阅读 »

BLOG搬家了

这是一篇迟来的文章,因为我的BLOG已经搬了有几天的时间了!!!

不过比较忙嘛,又不爱写文章, 所以都没个记录了


今天难得有点兴趣,仅记录一下


旧的BLOG:http://blog.0591ok.cn 不再更新
旧的一些BLOG文章已经转移到新系统上,只是某些附件或格式已经不存在,看以前旧的文章可能有些吃力了!

新的系统:http://www.91linux.cn
以后有文章将会在这里更新

【分享】开源分布式文件系统&文件系统

GFS(Google File System): http://www.codechina.org/doc/google/gfs-paper/
MogileFS: http://www.danga.com/mogilefs
Hadoop/HDFS: http://hadoop.apache.org/core
KFS(Kosmos Distributed File System): http://kosmosfs.sourceforge.net
NDFS(Nutch Distributed File System): http://lucene.apache.org/nutch/, http://wiki.apache.org/nutch/NutchDistributedFileSystem
Gluster(Gluster File System): http://www.gluster.org
Coda(Coda File System): http://www.coda.cs.cmu.edu/
Global(Red Hat Global File System Redhat并购): http://www.redhat.com/gfs
Lustre(Lustre File System Sun并购): http://www.lustre.org
PVFS(Parallel Virtual File System,非开源): http://www.parl.clemson.edu/pvfs
GPFS(IBM General Parallel File System, 非开源): http://www-03.ibm.com/systems/clusters/software/gpfs
OpenAFS(Open Andrew File System IBM): http://www.openafs.org
XFS(SGI, 不算分布式文件系统): http://oss.sgi.com/projects/xfs
MOSIX: http://www.mosix.org

还有一个国内牛人写的
FastDFS一个高效的分布式文件系统 http://fastdfs.zhan.cn.yahoo.com/

参考:
http://www.bitscn.com/linux/network_manage/200710/116850.html
http://lxhzju.blog.163.com/blog/static/45008200682773039623/

[转] 疯狂代码:大型网站架构系列(未完待续)

作者:疯狂代码

来源:http://www.crazycoder.cn

大型网站架构系列之一 不得不考虑的问题

前言:这两天机器坏了,正在送修中,写个系列的大型网站架构的文章,希望对有志在互联网做出一番事业的站长朋友们一些帮助。

  注意:这里的大型网站架构只包括高互动性高交互性的数据型大型网站,基于大家众所周知的原因,我们就不谈新闻类和一些依靠HTML静态化就可以实现的架构了,我们以高负载高数据交换高数据流动性的网站为例,比如海内,开心网等类似的web2.0系列架构。我们这里不讨论是PHP还是JSP或者.NET环境,我们从架构的方面去看问题,实现语言方面并不是问题,语言的优势在于实现而不是好坏,不论你选择任何语言,架构都是必须要面对的。

  文入正题:

  首先讨论一下大型网站需要注意和考虑的问题

  A. 海量数据的处理。

  众所周知,对于一些相对小的站点来说,数据量并不是很大,select和update就可以解决我们面对的问题,本身负载量不是很大,最多再加几个索引就可以搞定。对于大型网站,每天的数据量可能就上百万,如果一个设计不好的多对多关系,在前期是没有任何问题的,但是随着用户的增长,数据量会是几何级的增长的。在这个时候我们对于一个表的select和update的时候(还不说多表联合查询)的成本的非常高的。

  B. 数据并发的处理

  在一些时候,2.0的CTO都 有个尚方宝剑,就是缓存。对于缓存,在高并发高处理的时候也是个大问题。在整个应用程序下,缓存是全局共享的,然而在我们进行修改的时候就,如果两个或者 多个请求同时对缓存有更新的要求的情况下,应用程序会直接的死掉。这个时候,就需要一个好的数据并发处理策略以及缓存策略。

  另外,就是数据库的死锁问题,也许平时我们感觉不到,死锁在高并发的情况下的出现的概率是非常高的,磁盘缓存就是一个大问题。

  C. 文件存贮的问题

  对于一些支持文件上传的2.0的站点,在庆幸硬盘容量越来越大的时候我们更多的应该考虑的是文件应该如何被存储并且被有效的索引。常见的方案是对文件按照日期和类型进行存贮。但是当文件量 是海量的数据的情况下,如果一块硬盘存贮了500个G的琐碎文件,那么维护的时候和使用的时候磁盘的Io就是一个巨大的问题,哪怕你的带宽足够,但是你的磁盘也未必响应过来。如果这个时候还涉及上传,磁盘很容易就over了。 继续阅读 »

[转] 大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中 将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系,希望能给想从事互联网行业的同学一点初步的概念,:-),文中的不对之处也请各位多给点建议,让本文真正起到抛砖引玉的效果。

架构演变第一步:物理分离webserver和数据库


最开始,由于某些想法,于是在互联网上搭建了一个网站,这个时候甚至有可能主机都是租借的,但由于这篇文章我们只关注架构的演变历程,因此就假设这个时候 已经是托管了一台主机,并且有一定的带宽了,这个时候由于网站具备了一定的特色,吸引了部分人访问,逐渐你发现系统的压力越来越高,响应速度越来越慢,而这个时候比较明显的是数据库和应用互相影响,应用出问题了,数据库也很容易出现问题,而数据库出问题的时候,应用也容易出问题,于是进入了第一步演变阶段:将应用和数据库从物理上分离,变成了两台机器,这个时候技术上没有什么新的要求,但你发现确实起到效果了,系统又恢复到以前的响应速度了,并且支撑住了更高的流量,并且不会因为数据库和应用形成互相的影响。
看看这一步完成后系统的图示:

这一步涉及到了这些知识体系:
这一步架构演变对技术上的知识体系基本没有要求。

架构演变第二步:增加页面缓存

好景不长,随着访问的人越来越多,你发现响应速度又开始变慢了,查找原因,发现是访问数据库的操作太多,导致数据连接竞争激烈,所以响应变慢,但数据库连 接又不能开太多,否则数据库机器压力会很高,因此考虑采用缓存机制来减少数据库连接资源的竞争和对数据库读的压力,这个时候首先也许会选择采用squid 等类似的机制来将系统中相对静态的页面(例如一两天才会有更新的页面)进行缓存(当然,也可以采用将页面静态化的方案),这样程序上可以不做修改,就能够 很好的减少对webserver的压力以及减少数据库连接资源的竞争,OK,于是开始采用squid来做相对静态的页面的缓存。
看看这一步完成后系统的图示:

这一步涉及到了这些知识体系:
前端页面缓存技术,例如squid,如想用好的话还得深入掌握下squid的实现方式以及缓存的失效算法等。

继续阅读 »

返回顶部