首页 文章 精选 留言 我的

精选列表

搜索[centos],共5663篇文章
优秀的个人博客,低调大师

CentOS下需要掌握的一些命令

详情: 1. tar 创建一个新的tar文件 $ tar cvf archive_name.tar dirname/ 解压tar文件 $ tar xvf archive_name.tar 查看tar文件 $ tar tvf archive_name.tar 2. grep 在文件中查找字符串(不区分大小写) $ grep -i "the" demo_file 输出成功匹配的行,以及该行之后的三行 $ grep -A 3 -i "example" demo_text 在一个文件夹中递归查询包含指定字符串的文件 $ grep -r "ramesh" * 3. find 查找指定文件名的文件(不区分大小写) $ find -iname "MyProgram.c" 对找到的文件执行某个命令 $ find -iname "MyProgram.c" -exec md5sum {} \; 查找home目录下的所有空文件 $ find ~ -empty 4. ssh 登录到远程主机 $ ssh -l jsmith remotehost.example.com 调试ssh客户端 $ ssh -v -l jsmith remotehost.example.com 显示ssh客户端版本 $ ssh -V 5. sed 当你将Dos系统中的文件复制到Unix/Linux后,这个文件每行都会以\r\n结尾,sed可以轻易将其转换为Unix格式的文件,使用\n结尾的文件 $ sed 's/.$//' filename 反转文件内容并输出 $ sed -n '1!G; h; p' filename 为非空行添加行号 $ sed '/./=' thegeekstuff.txt | sed 'N; s/\n/ /' 6. awk 删除重复行 $ awk '!($0 in array) { array[$0]; print}' temp 打印/etc/passwd中所有包含同样的uid和gid的行 $ awk -F ':' '$3=$4' /etc/passwd 打印文件中的指定部分的字段 $ awk '{print $2,$5;}' employee.txt 7. vim 打开文件并跳到第10行 $ vim +10 filename.txt 打开文件跳到第一个匹配的行 $ vim +/search-term filename.txt 以只读模式打开文件 $ vim -R /etc/passwd 8. diff 比较的时候忽略空白符 $ diff -w name_list.txt name_list_new.txt 9. sort 以升序对文件内容排序 $ sort names.txt 以降序对文件内容排序 $ sort -r names.txt 以第三个字段对/etc/passwd的内容排序 $ sort -t: -k 3n /etc/passwd | more 10. export 输出跟字符串oracle匹配的环境变量 $ export | grep ORCALE declare -x ORACLE_BASE="/u01/app/oracle" declare -x ORACLE_HOME="/u01/app/oracle/product/10.2.0" declare -x ORACLE_SID="med" declare -x ORACLE_TERM="xterm" 设置全局环境变量 $ export ORACLE_HOME=/u01/app/oracle/product/10.2.0 11. xargs 将所有图片文件拷贝到外部驱动器 $ ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory 将系统中所有jpd文件压缩打包 $ find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz 下载文件中列出的所有url对应的页面 $ cat url-list.txt | xargs wget –c 12. ls 以易读的方式显示文件大小(显示为MB,GB...) $ ls -lh -rw-r----- 1 ramesh team-dev 8.9M Jun 12 15:27 arch-linux.txt.gz 以最后修改时间升序列出文件 $ ls -ltr 在文件名后面显示文件类型 $ ls -F 13. pwd 输出当前工作目录 14. cd cd -可以在最近工作的两个目录间切换 使用shopt -s cdspell可以设置自动对cd命令进行拼写检查 15. gzip 创建一个*.gz的压缩文件 $ gzip test.txt 解压*.gz文件 $ gzip -d test.txt.gz 显示压缩的比率 $ gzip -l *.gz compressed uncompressed ratio uncompressed_name 23709 97975 75.8% asp-patch-rpms.txt 16. bzip2 创建*.bz2压缩文件 $ bzip2 test.txt 解压*.bz2文件 bzip2 -d test.txt.bz2 17. uzip 解压*.zip文件 $ unzip test.zip 查看*.zip文件的内容 $ unzip -l jasper.zip Archive: jasper.zip Length Date Time Name -------- ---- ---- ---- 40995 11-30-98 23:50 META-INF/MANIFEST.MF 32169 08-25-98 21:07 classes_ 15964 08-25-98 21:07 classes_names 10542 08-25-98 21:07 classes_ncomp 18. shutdown 关闭系统并立即关机 $ shutdown -h now 10分钟后关机 $ shutdown -h +10 重启 $ shutdown -r now 重启期间强制进行系统检查 $ shutdown -Fr now 19. ftp ftp命令和sftp命令的用法基本相似连接ftp服务器并下载多个文件 $ ftp IP/hostname ftp> mget *.html 显示远程主机上文件列表 ftp> mls *.html - /ftptest/features.html /ftptest/index.html /ftptest/othertools.html /ftptest/samplereport.html /ftptest/usage.html 20. crontab 查看某个用户的crontab入口 $ crontab -u john -l 设置一个每十分钟执行一次的计划任务 */10 * * * * /home/ramesh/check-disk-space 21. service service命令用于运行System V init脚本,这些脚本一般位于/etc/init.d文件下,这个命令可以直接运行这个文件夹里面的脚本,而不用加上路径 查看服务状态 $ service ssh status 查看所有服务状态 $ service --status-all 重启服务 $ service ssh restart 22. ps ps命令用于显示正在运行中的进程的信息,ps命令有很多选项,这里只列出了几个 查看当前正在运行的所有进程 $ ps -ef | more 以树状结构显示当前正在运行的进程,H选项表示显示进程的层次结构 $ ps -efH | more 23. free 这个命令用于显示系统当前内存的使用情况,包括已用内存、可用内存和交换内存的情况 默认情况下free会以字节为单位输出内存的使用量 $ free total used free shared buffers cached Mem: 3566408 1580220 1986188 0 203988 902960 -/+ buffers/cache: 473272 3093136 Swap: 4000176 0 4000176 如果你想以其他单位输出内存的使用量,需要加一个选项,-g为GB,-m为MB,-k为KB,-b为字节 $ free -g total used free shared buffers cached Mem: 3 1 1 0 0 0 -/+ buffers/cache: 0 2 Swap: 3 0 3 如果你想查看所有内存的汇总,请使用-t选项,使用这个选项会在输出中加一个汇总行 $ free -t total used free shared buffers cached Mem: 3566408 1592148 1974260 0 204260 912556 -/+ buffers/cache: 475332 3091076 Swap: 4000176 0 4000176 Total: 7566584 1592148 5974436 24. top top命令会显示当前系统中占用资源最多的一些进程(默认以CPU占用率排序)如果你想改变排序方式,可以在结果列表中点击O(大写字母O)会显示所有可用于排序的列,这个时候你就可以选择你想排序的列 Current Sort Field: P for window 1:Def Select sort field via field letter, type any other key to return a: PID = Process Id v: nDRT = Dirty Pages count d: UID = User Id y: WCHAN = Sleeping in Function e: USER = User Name z: Flags = Task Flags ........ 如果只想显示某个特定用户的进程,可以使用-u选项 $ top -u oracle 25. df 显示文件系统的磁盘使用情况,默认情况下df -k 将以字节为单位输出磁盘的使用量 $ df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 29530400 3233104 24797232 12% / /dev/sda2 120367992 50171596 64082060 44% /home 使用-h选项可以以更符合阅读习惯的方式显示磁盘使用量 $ df -h Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/disk0s2 232Gi 84Gi 148Gi 37% 21998562 38864868 36% / devfs 187Ki 187Ki 0Bi 100% 648 0 100% /dev map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home /dev/disk0s4 466Gi 45Gi 421Gi 10% 112774 440997174 0% /Volumes/BOOTCAMP //app@izenesoft.cn/public 2.7Ti 1.3Ti 1.4Ti 48% 0 18446744073709551615 0% /Volumes/public 使用-T选项显示文件系统类型 $ df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/sda1 ext4 29530400 3233120 24797216 12% / /dev/sda2 ext4 120367992 50171596 64082060 44% /home 26. kill kill用于终止一个进程。一般我们会先用ps -ef查找某个进程得到它的进程号,然后再使用kill -9 进程号终止该进程。你还可以使用killall、pkill、xkill来终止进程 $ ps -ef | grep vim ramesh 7243 7222 9 22:43 pts/2 00:00:00 vim $ kill -9 7243 27. rm 删除文件前先确认 $ rm -i filename.txt 在文件名中使用shell的元字符会非常有用。删除文件前先打印文件名并进行确认 $ rm -i file* 递归删除文件夹下所有文件,并删除该文件夹 $ rm -r example 28. cp 拷贝文件1到文件2,并保持文件的权限、属主和时间戳 $ cp -p file1 file2 拷贝file1到file2,如果file2存在会提示是否覆盖 $ cp -i file1 file2 29. mv 将文件名file1重命名为file2,如果file2存在则提示是否覆盖 $ mv -i file1 file2 注意如果使用-f选项则不会进行提示 -v会输出重命名的过程,当文件名中包含通配符时,这个选项会非常方便 $ mv -v file1 file2 30. cat 你可以一次查看多个文件的内容,下面的命令会先打印file1的内容,然后打印file2的内容 $ cat file1 file2 -n命令可以在每行的前面加上行号 $ cat -n /etc/logrotate.conf /var/log/btmp { missingok 3 monthly 4 create 0660 root utmp 5 rotate 1 6 } 31. mount 如果要挂载一个文件系统,需要先创建一个目录,然后将这个文件系统挂载到这个目录上 # mkdir /u01 # mount /dev/sdb1 /u01 也可以把它添加到fstab中进行自动挂载,这样任何时候系统重启的时候,文件系统都会被加载 /dev/sdb1 /u01 ext2 defaults 0 2 32. chmod chmod用于改变文件和目录的权限 给指定文件的属主和属组所有权限(包括读、写、执行) $ chmod ug+rwx file.txt 删除指定文件的属组的所有权限 $ chmod g-rwx file.txt 修改目录的权限,以及递归修改目录下面所有文件和子目录的权限 $ chmod -R ug+rwx file.txt 33. chown chown用于改变文件属主和属组 同时将某个文件的属主改为oracle,属组改为db $ chown oracle:dba dbora.sh 使用-R选项对目录和目录下的文件进行递归修改 $ chown -R oracle:dba /home/oracle 34. passwd passwd用于在命令行修改密码,使用这个命令会要求你先输入旧密码,然后输入新密码 $ passwd 超级用户可以用这个命令修改其他用户的密码,这个时候不需要输入用户的密码 # passwd USERNAME passwd还可以删除某个用户的密码,这个命令只有root用户才能操作,删除密码后,这个用户不需要输入密码就可以登录到系统 # passwd -d USERNAME 35. mkdir 在home目录下创建一个名为temp的目录 $ mkdir ~/temp 使用-p选项可以创建一个路径上所有不存在的目录 $ mkdir -p dir1/dir2/dir3/dir4/ 36. ifconfig ifconfig用于查看和配置Linux系统的网络接口 查看所有网络接口及其状态 $ ifconfig -a 使用up和down命令启动或停止某个接口 $ ifconfig eth0 up $ ifconfig eth0 down 37. uname uname可以显示一些重要的系统信息,例如内核名称、主机名、内核版本号、处理器类型之类的信息 $ uname -a Linux john-laptop 2.6.32-24-generic #41-Ubuntu SMP Thu Aug 19 01:12:52 UTC 2010 i686 GNU/Linux 38. whereis 当你不知道某个命令的位置时可以使用whereis命令,下面使用whereis查找ls的位置 $ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz 当你想查找某个可执行程序的位置,但这个程序又不在whereis的默认目录下,你可以使用-B选项,并指定目录作为这个选项的参数。下面的命令在/tmp目录下查找lsmk命令 $ whereis -u -B /tmp -f lsmk lsmk: /tmp/lsmk 39. whatis wathis显示某个命令的描述信息 $ whatis ls ls (1) - list directory contents $ whatis ifconfig ifconfig (8) - configure a network interface 40. locate locate命名可以显示某个指定文件(或一组文件)的路径,它会使用由updatedb创建的数据库 下面的命令会显示系统中所有包含crontab字符串的文件 $ locate crontab /etc/anacrontab /etc/crontab /usr/bin/crontab /usr/share/doc/cron/examples/crontab2english.pl.gz /usr/share/man/man1/crontab.1.gz /usr/share/man/man5/anacrontab.5.gz /usr/share/man/man5/crontab.5.gz /usr/share/vim/vim72/syntax/crontab.vim 41. man 显示某个命令的man页面 $ man crontab 有些命令可能会有多个man页面,每个man页面对应一种命令类型 $ man SECTION-NUMBER commandname man页面一般可以分为8种命令类型 用户命令 系统调用 c库函数 设备与网络接口 文件格式 游戏与屏保 环境、表、宏 系统管理员命令和后台运行命令 例如,我们执行whatis crontab,你可以看到crontab有两个命令类型1和5,所以我们可以通过下面的命令查看命令类型5的man页面 $ whatis crontab crontab (1) - maintain crontab files for individual users (V3) crontab (5) - tables for driving cron $ man 5 crontab 42. tail tail命令默认显示文件最后的10行文本 $ tail filename.txt 你可以使用-n选项指定要显示的行数 $ tail -n N filename.txt 你也可以使用-f选项进行实时查看,这个命令执行后会等待,如果有新行添加到文件尾部,它会继续输出新的行,在查看日志时这个选项会非常有用。你可以通过CTRL-C终止命令的执行 $ tail -f log-file 43. less 这个命名可以在不加载整个文件的前提下显示文件内容,在查看大型日志文件的时候这个命令会非常有用 $ less huge-log-file.log 当你用less命令打开某个文件时,下面两个按键会给你带来很多帮助,他们用于向前和向后滚屏 CTRL+F – forward one window CTRL+B – backward one window 44. su su命令用于切换用户账号,超级用户使用这个命令可以切换到任何其他用户而不用输入密码 $ su - USERNAME 用另外一个用户名执行一个命令下面的示例中用户john使用raj用户名执行ls命令,执行完后返回john的账号 [john@dev-server]$ su - raj -c 'ls' [john@dev-server]$ 用指定用户登录,并且使用指定的shell程序,而不用默认的 $ su -s 'SHELLNAME' USERNAME 45. mysql mysql可能是Linux上使用最广泛的数据库,即使你没有在你的服务器上安装mysql,你也可以使用mysql客户端连接到远程的mysql服务器 连接一个远程数据库,需要输入密码 $ mysql -u root -p -h 192.168.1.2 连接本地数据库 $ mysql -u root -p 你也可以在命令行中输入数据库密码,只需要在-p后面加上密码作为参数,可以直接写在p后面而不用加空格 46. yum 使用yum安装apache $ yum install httpd 更新apache $ yum update httpd 卸载/删除apache $ yum remove httpd 47. rpm 使用rpm安装apache # rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm 更新apache # rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm 卸载/删除apache # rpm -ev httpd 48. ping ping一个远程主机,只发5个数据包 $ ping -c 5 gmail.com 49. date 设置系统日期 # date -s "01/31/2010 23:59:53" 当你修改了系统时间,你需要同步硬件时间和系统时间 # hwclock –systohc # hwclock --systohc –utc 50. wget 使用wget从网上下载软件、音乐、视频 $ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz 下载文件并以指定的文件名保存文件 $ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701

优秀的个人博客,低调大师

CentOS6.7-64bit编译hadoop2.6.4

1.下载maven(apache-maven-3.3.3-bin.tar.gz) http://archive.apache.org/dist/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz 2.安装maven tar -zxvf apache-maven-3.3.3-bin.tar.gz -C /usr/local 3.添加环境变量 vim /etc/profile export JAVA_HOME=/usr/local/jdk1.7.0_45 export MAVEN_HOME=/usr/local/apache-maven-3.3.3 export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin 4.加载环境变量 source /etc/proflie mvn -version 5.下载protobuf(https://code.google.com/p/protobuf/downloads/list 或 https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz) 6.安装protobuf编译依赖,为了编译安装protoc,需要使用YUM下载几个依赖的工具 yum install -y gcc gcc-c++ make 7.解压安装protobuf tar -zxvf protobuf-2.5.0.tar.gz -C /usr/local/src cd /usr/local/src/protobuf-2.5.0 ./configure --prefix=/usr/local/protobuf make && make install 8将protobuf添加到环境变量 vim /etc/profile export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$MAVEN_HOME/bin:/usr/local/protobuf/bin source /etc/profile protoc --version 9.安装其他编译依赖 yum install -y cmake openssl-devel ncurses-devel zlib-devel yum install -y snappy snappy-devel bzip2 bzip2-devel lzo lzo-devel lzop openssl openssl-devel 10.编译hadoop(进入文件夹里面,里面有一个文件BUILDINT.txt,打开即可看见里面关于编译hadoop的一些环境要求) tar -zxvf hadoop-2.6.4-src.tar.gz -C /usr/local/src/ cd /usr/local/src/hadoop-2.6.4-src mvn package -Pdist,native -DskipTests -Dtar 12.查看编译好的安装包 cd /usr/local/src/hadoop-2.6.4-src/hadoop-dist/target #出现问题 INFO util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 在/etc/profile中添加 export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native" #查看可用的本地库 hadoop checknative -a cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc –l cat /proc/cpuinfo | grep "core id" | sort -u | wc -l cat /proc/cpuinfo | grep MHz | uniq 本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/6755022.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

centos 6.5 x64bit 快速安装openstack

OpenStack是一个美国国家航空航天局和Rackspace合作研发的,以Apache许可证授权,并且是一个自由软件和开放源代码项目。 OpenStack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。 OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将OpenStack作为基础设施即服务(简称IaaS)资源的通用前端。 OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用OpenStack前端来设置及管理自己的公共云或私有云。 OpenStack 是由 Rackspace 和 NASA 共同开发的云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack 是开源项目,除了有 Rackspace 和 NASA 的大力支持外,后面还有包括 Dell、Citrix、 Cisco、 Canonical 这些重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。 1.[root@localhost ~]#yum install -yhttp://rdo.fedorapeople.org/openstack/openstack-grizzly/rdo-release-grizzly-1.noarch.rpm//安装openstack-grizzly源 Loaded plugins: fastestmirror, security base | 3.7 kB 00:00 base/primary_db | 4.4 MB 00:05 extras | 3.4 kB 00:00 extras/primary_db | 19 kB 00:00 updates | 3.4 kB 00:00 updates/primary_db | 3.7 MB 00:03 Setting up Install Process rdo-release-grizzly-1.noarch.rpm | 7.1 kB 00:03 Examining /var/tmp/yum-root-tkysSj/rdo-release-grizzly-1.noarch.rpm: rdo-release-grizzly-1.noarch Marking /var/tmp/yum-root-tkysSj/rdo-release-grizzly-1.noarch.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package rdo-release.noarch 0:grizzly-1 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: rdo-release noarch grizzly-1 /rdo-release-grizzly-1.noarch 3.2 k Transaction Summary ================================================================================ Install 1 Package(s) Total size: 3.2 k Installed size: 3.2 k Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : rdo-release-grizzly-1.noarch 1/1 Verifying : rdo-release-grizzly-1.noarch 1/1 Installed: rdo-release.noarch 0:grizzly-1 Complete! 2.[root@localhost ~]#yum install -y openstack-packstack //安装openstack-packstack软件包 Loaded plugins: fastestmirror, security Determining fastest mirrors * base: mirrors.163.com * extras: mirrors.163.com * updates: mirrors.163.com openstack-grizzly | 2.9 kB 00:00 openstack-grizzly/primary_db | 992 kB 00:02 Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package openstack-packstack.noarch 0:2013.1.1-0.31.dev696.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: openstack-packstack noarch 2013.1.1-0.31.dev696.el6 openstack-grizzly 605 k Transaction Summary ================================================================================ Install 1 Package(s) Total download size: 605 k Installed size: 1.9 M Downloading Packages: openstack-packstack-2013.1.1-0.31.dev696.el6.noarch.rpm | 605 kB 00:01 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : openstack-packstack-2013.1.1-0.31.dev696.el6.noarch 1/1 Verifying : openstack-packstack-2013.1.1-0.31.dev696.el6.noarch 1/1 Installed: openstack-packstack.noarch 0:2013.1.1-0.31.dev696.el6 Complete! 3.[root@localhost ~]# packstack --allinone //在线安装openstack软件。 Welcome to Installer setup utility Packstack changed given value to required value /root/.ssh/id_rsa.pub Installing: Clean Up... [ DONE ] Setting up sshkeys...root@192.168.200.180'spassword: [ DONE ] Adding pre install manifest entries... [ DONE ] Adding MySQL manifest entries... [ DONE ] Adding QPID manifest entries... [ DONE ] Adding Keystone manifest entries... [ DONE ] Adding Glance Keystone manifest entries... [ DONE ] Adding Glance manifest entries... [ DONE ] Adding Cinder Keystone manifest entries... [ DONE ] Installing dependencies for Cinder... [ DONE ] Checking if the Cinder server has a cinder-volumes vg...[ DONE ] Adding Cinder manifest entries... [ DONE ] Adding Nova API manifest entries... [ DONE ] Adding Nova Keystone manifest entries... [ DONE ] Adding Nova Cert manifest entries... [ DONE ] Adding Nova Conductor manifest entries... [ DONE ] Adding Nova Compute manifest entries... [ DONE ] Adding Nova Scheduler manifest entries... [ DONE ] Adding Nova VNC Proxy manifest entries... [ DONE ] Adding Nova Common manifest entries... [ DONE ] Adding Openstack Network-related Nova manifest entries...[ DONE ] Adding Quantum API manifest entries... [ DONE ] Adding Quantum Keystone manifest entries... [ DONE ] Adding Quantum L3 manifest entries... [ DONE ] Adding Quantum L2 Agent manifest entries... [ DONE ] Adding Quantum DHCP Agent manifest entries... [ DONE ] Adding Quantum Metadata Agent manifest entries... [ DONE ] Adding OpenStack Client manifest entries... [ DONE ] Adding Horizon manifest entries... [ DONE ] Adding Swift Keystone manifest entries... [ DONE ] Adding Swift builder manifest entries... [ DONE ] Adding Swift proxy manifest entries... [ DONE ] Adding Swift storage manifest entries... [ DONE ] Adding Swift common manifest entries... [ DONE ] Adding Provisioning manifest entries... [ DONE ] Preparing servers... [ DONE ] Adding Nagios server manifest entries... [ DONE ] Adding Nagios host manifest entries... [ DONE ] Adding post install manifest entries... [ DONE ] Installing Dependencies... [ DONE ] Copying Puppet modules and manifests... [ DONE ] Applying Puppet manifests... Applying 192.168.200.180_prescript.pp 192.168.200.180_prescript.pp : [ DONE ] Applying 192.168.200.180_mysql.pp Applying 192.168.200.180_qpid.pp 192.168.200.180_mysql.pp : [ DONE ] 192.168.200.180_qpid.pp : [ DONE ] Applying 192.168.200.180_keystone.pp Applying 192.168.200.180_glance.pp Applying 192.168.200.180_cinder.pp 192.168.200.180_keystone.pp : [ DONE ] 192.168.200.180_glance.pp : [ DONE ] 192.168.200.180_cinder.pp : [ DONE ] Applying 192.168.200.180_api_nova.pp 192.168.200.180_api_nova.pp : [ DONE ] Applying 192.168.200.180_nova.pp 192.168.200.180_nova.pp : [ DONE ] Applying 192.168.200.180_quantum.pp 192.168.200.180_quantum.pp : [ DONE ] Applying 192.168.200.180_osclient.pp Applying 192.168.200.180_horizon.pp 192.168.200.180_osclient.pp : [ DONE ] 192.168.200.180_horizon.pp : [ DONE ] Applying 192.168.200.180_ring_swift.pp 192.168.200.180_ring_swift.pp : [ DONE ] Applying 192.168.200.180_swift.pp Applying 192.168.200.180_provision.pp Applying 192.168.200.180_nagios.pp Applying 192.168.200.180_nagios_nrpe.pp 192.168.200.180_swift.pp : [ DONE ] 192.168.200.180_provision.pp : [ DONE ] 192.168.200.180_nagios.pp : [ DONE ] 192.168.200.180_nagios_nrpe.pp : [ DONE ] Applying 192.168.200.180_postscript.pp 192.168.200.180_postscript.pp : [ DONE ] [ DONE ] Finalizing... [ DONE ] **** Installation completed successfully ****** //成功安装如下: Additional information: * A new answerfile was created in: /root/packstack-answers-20140626-162910.txt * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components. * To use the command line tools you need to source the file /root/keystonerc_admin created on 192.168.200.180 * To use the console, browse tohttp://192.168.200.180/dashboard * To use Nagios, browse tohttp://192.168.200.180/nagiosusername : nagiosadmin, password : 0e2abdb9d2914cce * The RDO kernel that includes network namespace (netns) support has been installed on host 192.168.200.180. * The installation log file is available at: /var/tmp/packstack/20140626-162910-yqzZnu/openstack-setup.log //如果要进openstack界面直接利用http://192.168.200.180/dashboard进入,用户名有两个一个demo,另一个是admin 密码在/root目录下 4.创建keypair,名字自己写 5.创建映像f19下载地址http://cloud.fedoraproject.org/fedora-19.x86_64.qcow2创建好之后启动 6.启动zh888实例 7.选择网卡点加号放入networks 8.启动好的zh888的实例 本文转自zh888 51CTO博客,原文链接:http://blog.51cto.com/zh888/1431689,如需转载请自行联系原作者

优秀的个人博客,低调大师

centos7 OpenStack 一键自动部署

1、[root@localhost~]#systemctlstopNetworkManager [root@localhost~]#systemctlenableNetworkManager [root@localhost~]#systemctlstopfirewalld [root@localhost~]#systemctlenablefirewalld [root@localhost~]#vim/etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled getenforce setenforce0(临时关闭) 2、[root@localhost~]#yuminstallhttps://rdoproject.org/repos/rdo-release.rpm [root@localhost~]#yumrepolist [root@localhost~]#yum-yinstallopenstack-packstack 3、重启服务器#reboot(shutdown-rnow) 4、[root@localhost~]#yuminstallntp [root@localhost~]#systemctlstartntpd [root@localhost~]#chkconfigntpdon [root@localhost~]#vim/etc/ntp.conf 增加:server202.120.2.101 [root@localhost~]#ntpdate202.120.2.101(上海交通大学时间服务器) 5、[root@localhost~]#packstack--gen-answer-file/root/answers.txt [root@localhost~]#vim/root/answers.txt 修改参数: CONFIG_PROVISION_DEMO=n CONFIG_CINDER_VOLUMES_CREATE=n CONFIG_KEYSTONE_ADMIN_PW=redhat (修改登录密码) CONFIG_HORIZON_SSL=y(图像化管理界面的安装) 6、[root@localhost~]#packstack--allinone 或者:#packstack--answer-file/root/answers.txt 7、[root@localhost~]#openstack-status 在浏览器中输入服务器的IP地址及可访问。 8、镜像文件路径: [root@localhost~]#ll/var/lib//glance/images/ total6709760 -rw-r-----1glanceglance3100639232Jun2406:210b0de83b-d817-496e-8aec-f874d8963624 -rw-r-----1glanceglance3770155008Jun2405:26cf1d6df4-bfa1-4835-b96c-cf829bd2ee5e [root@localhost~]# 9、脚本: #vim/tmp/customized.sh echo"Timetoeat!">>/etc/motd chmoda+x/tmp/customized.sh 10、镜像地址: http://download.cirros-cloud.net/0.3.4/ 本文转自 Bill_Xing 51CTO博客,原文链接:http://blog.51cto.com/zhanx/2059025

优秀的个人博客,低调大师

Mesosphere Cluster on CentOS7 (zookeeper+mesos+marathon)

简介 mesosphere mesos marathon zookeeper: 为master的mesos/marathon的配置文件,这保证master更轻量级。 大概为这几个概念,能找到这里的基本上都是知道他们是干啥的,这里不废话了。不懂的可自行脑补。 环境: Hostname Function IP Address master1 Mesos master 172.18.2.94 master2 Mesos master 172.18.2.95 master3 Mesos master 172.18.2.96 slave1 Mesos slave 172.18.2.97 slave2 Mesos slave 172.18.2.98 slave3 Mesos slave 172.18.2.99 slave4 Mesos slave 172.18.2.100 描述: 首先,master为3台机器,做zookeeper集群做配置管理(mesos/marathon/zookeeper),然后3个master节点做高可用、Marathon同理。 提前工作 ①关掉selinux 1 setenforece0(配置文件自行修改) ②关掉firewalld 1 systemctldisablefirewalld.service ③清空防火墙 1 iptables-F Master Nodes Setup Package Installation 这里为了简单起便,将使用yum来装,当然你可以自己编译,效果一样。其他的还有docker仓库直接装的,方法很多,看你环境吧。 Setup Repositories 1 rpm-Uvhhttp: //repos .mesosphere.io /el/7/noarch/RPMS/mesosphere-el-repo-7-1 .noarch.rpm Install 1 2 yum-y install mesosphere-zookeeper yum-y install mesosmarathon Configuration ZooKeeper ①,先给每台机器zookeeper打标签: 1 2 3 echo 1> /etc/zookeeper/conf/myid PS: 有些可能在 /var/lib/zookeeper/myid 注意:myid中的每台机器不同,对应下面配置文件中的server.$NUM 在/etc/zookeeper/conf/zoo.cfg配置文件中追加以下内容: 1 2 3 server.1=172.18.2.94:2888:3888 server.2=172.18.2.95:2888:3888 server.3=172.18.2.96:2888:3888 解释下这个后边的$IP,$PORT1,$PORT2 1 2 3 IP不解释 $PORT1因为三台为高可用,肯定有个master,这个端口是master起的; $PORT2为他们互相检查、看谁当master检查用的。 然后就可以重启zookeeper服务了(端口为2181) 1 systemctlstartzookeeper Mesos ZooKeeper 在每个节点上,需要配置zookeeper的地址,像这样写进/etc/mesos/zk 1 zk: //172 .18.2.94:2181,172.18.2.95:2181,172.18.2.96:2181 /mesos Quorum 我不确定这个是不是BUG,因为这个官方要求参数,3台master的情况下,这个配置应该为2的,但是当你设置成2的时候,3台master一直会去争抢leader,导致slave节点无法注册,所以这里我们将它搞为1 1 echo 1> /etc/mesos-master/quorum Hostname 这里说下,我们把主机名master$num 写进hosts解析里面,然后把各自的主机名写进这个文件中 1 echo $master> /etc/mesos-master/hostname 需要将本机的ip写进配置文件中 1 echo $host> /etc/mesos-master/ip 然后mesos的配置这里就ok了,但是你得注意一点,把他自身的一些东西给处理下 1 2 systemctlstopmesos-slave.service systemctldisablemesos-slave.service 然后重启mesos 1 systemctlrestartmesos-master.service Marathon 首先,创建下他的配置文件的路径(yum装的没给我们创建) 1 mkdir -p /etc/marathon/conf Hostname 把mesos的直接拷过来就好了 1 cp /etc/mesos-master/hostname /etc/marathon/conf ZooKeeper 这里有2点:①配置marathon自己的zk,另外还需要连接mesos自己的,因为他要过去调度任务呀 1 2 3 4 cp /etc/mesos/zk /etc/marathon/conf/master cp /etc/marathon/conf/master /etc/marathon/conf/zk vim /etc/marathon/conf/zk 内容:zk: //172 .18.2.94:2181,172.18.2.95:2181,172.18.2.96:2181 /marathon 然后重启marathon 1 systemctlrestartmarathon.service Master is ok ! mesos访问地址: 1 172.18.2.94:5050 marathon访问地址: 1 172.18.2.94:8080 Slave Node Setup Package Installation Setup Repositories 1 rpm-Uvhhttp: //repos .mesosphere.io /el/7/noarch/RPMS/mesosphere-el-repo-7-1 .noarch.rpm Install from package 1 yum-y install mesos Configuration Mesos 首先要关掉master 1 2 systemctlstopmesos-master.service systemctldisablemesos-master.service ZooKeeper 配置zookeeper的地址,因为说过他们会向zookeeper注册,配置同master /etc/mesos/zk 1 zk: //172 .18.2.94:2181,172.18.2.95:2181,172.18.2.96:2181 /mesos Hostname 同理,这里为/etc/mesos-slave/hostname 需要将本机的ip写进配置文件中 1 echo $host> /etc/mesos-slave/ip Start Services 1 systemctlrestartmesos-slave.service 然后,到mesos管理端,去查看slave的注册情况 Starting Services on Mesos and Marathon 这里不做复杂的演示,只做简单的。 WEB UI master1:5050 Starting a Service through the API 首先准备一个json文件(hello2.json) 1 2 3 4 5 6 7 8 9 { "id" : "hello2" , "cmd" : "echohello;sleep10" , "mem" :16, "cpus" :0.1, "instances" :1, "disk" :0.0, "ports" :[0] } 然后调用api 1 curl-i-H 'Content-Type:application/json' -d@hello2.jsonmaster1:8080 /v2/apps 就到这里吧,太久没写了,找不到感觉。 细节地方大家注意好就行 本文转自 陈延宗 51CTO博客,原文链接:http://blog.51cto.com/407711169/1661185,如需转载请自行联系原作者

优秀的个人博客,低调大师

CentOS下查看软、硬raid信息的方法

软件raid:只能通过Linux系统本身来查看 cat /proc/mdstat 可以看到raid级别,状态等信息。 硬件raid: 最佳的办法是通过已安装的raid厂商的管理工具来查看,有cmdline,也有图形界面。如Adaptec公司的硬件卡就可以通过下面的命令进行查看: # /usr/dpt/raidutil -L all 可以看到非常详细的信息。 当然更多情况是没有安装相应的管理工具,只能依靠Linux本身的话一般我知道的是两种方式: # dmesg |grep -i raid # cat /proc/scsi/scsi 显示的信息差不多,raid的厂商,型号,级别,但无法查看各块硬盘的信息。 另外经过实际测试,Dell的服务器可以通过命令来显示,而HP、IBM等的服务器通过上面的命令是显示不出的。只能够通过装硬件厂商的管理工具来查看。 cat /proc/scsi/scsi 可以看到是SCSI上的设备。一般情况可以看到RAID级别。lspci可以看到RAID卡的型号。 ========================================================== rpm -ivh MegaCli-1.01.09-0.i386.rpm 命令使用: MegaCli -LDInfo -Lall -aALL 查raid级别 MegaCli -AdpAllInfo -aALL 查raid卡信息 MegaCli -PDList -aALL 查看硬盘信息 MegaCli -AdpBbuCmd -aAll 查看电池信息 MegaCli -FwTermLog -Dsply -aALL 查看raid卡日志 MegaCli常用参数介绍 MegaCli -adpCount 【显示适配器个数】 MegaCli -AdpGetTime –aALL 【显示适配器时间】 MegaCli -AdpAllInfo -aAll 【显示所有适配器信息】 MegaCli -LDInfo -LALL -aAll 【显示所有逻辑磁盘组信息】 MegaCli -PDList -aAll 【显示所有的物理信息】 MegaCli -AdpBbuCmd -GetBbuStatus -aALL |grep ‘Charger Status’ 【查看充电状态】 MegaCli -AdpBbuCmd -GetBbuStatus -aALL【显示BBU状态信息】 MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aALL【显示BBU容量信息】 MegaCli -AdpBbuCmd -GetBbuDesignInfo -aALL 【显示BBU设计参数】 MegaCli -AdpBbuCmd -GetBbuProperties -aALL 【显示当前BBU属性】 MegaCli -cfgdsply -aALL 【显示Raid卡型号,Raid设置,Disk相关信息】 磁带状态的变化,从拔盘,到插盘的过程中。 Device |Normal|Damage|Rebuild|Normal Virtual Drive |Optimal|Degraded|Degraded|Optimal Physical Drive |Online|Failed –> Unconfigured|Rebuild|Online ============================================ MegaCli 常见用法 2008-10-24 09:32 1、准备 新版本的 MegaCli-1.01.24-0.i386.rpm 会把程序安装在/opt下,可以自定义安装目录,例如: rpm –relocate /opt/=/usr/sbin/ -i MegaCli-1.01.24-0.i386.rpm 即把安装目录 /opt 替换成 /usr/sbin。 查看所有物理磁盘信息 MegaCli -PDList -aALL Adapter #0 Enclosure Number: 1 Slot Number: 5 Device Id: 5 Sequence Number: 2 Media Error Count: 0 Other Error Count: 0 Predictive Failure Count: 0 Last Predictive Failure Event Seq Number: 0 Raw Size: 140014MB [0x11177328 Sectors] Non Coerced Size: 139502MB [0x11077328 Sectors] Coerced Size: 139392MB [0x11040000 Sectors] Firmware state: Hotspare SAS Address(0): 0x5000c50008e5cca9 SAS Address(1): 0×0 Inquiry Data: SEAGATE ST3146855SS S5273LN4Y1X0 ….. 2、查看磁盘缓存策略 MegaCli -LDGetProp -Cache -L0 -a0 Adapter 0-VD 0: Cache Policy:WriteBack, ReadAheadNone, Direct or MegaCli -LDGetProp -Cache -L1 -a0 Adapter 0-VD 1: Cache Policy:WriteBack, ReadAheadNone, Direct or MegaCli -LDGetProp -Cache -LALL -a0 Adapter 0-VD 0: Cache Policy:WriteBack, ReadAheadNone, Direct Adapter 0-VD 1: Cache Policy:WriteBack, ReadAheadNone, Direct or MegaCli -LDGetProp -Cache -LALL -aALL Adapter 0-VD 0: Cache Policy:WriteBack, ReadAheadNone, Direct Adapter 0-VD 1: Cache Policy:WriteBack, ReadAheadNone, Direct or MegaCli -LDGetProp -DskCache -LALL -aALL Adapter 0-VD 0: Disk Write Cache : Disk’s Default Adapter 0-VD 1: Disk Write Cache : Disk’s Default 3、设置磁盘缓存策略 缓存策略解释: WT (Write through WB (Write back) NORA (No read ahead) RA (Read ahead) ADRA (Adaptive read ahead) Cached Direct 例子: MegaCli -LDSetProp WT|WB|NORA|RA|ADRA -L0 -a0(修改之前可能需要先修改BBU: MegaCli -LDSetProp CachedBadBBU -Lall -aALL) or MegaCli -LDSetProp -Cached|-Direct -L0 -a0 or enable / disable disk cache MegaCli -LDSetProp -EnDskCache|-DisDskCache -L0 -a0 4、创建/删除 阵列 4.1 创建一个 raid5 阵列,由物理盘 2,3,4 构成,该阵列的热备盘是物理盘 5 MegaCli -CfgLdAdd -r5 [1:2,1:3,1:4] WB Direct -Hsp[1:5] -a0 4.2 创建阵列,不指定热备 MegaCli -CfgLdAdd -r5 [1:2,1:3,1:4] WB Direct -a0 4.3 删除阵列 MegaCli -CfgLdDel -L1 -a0 4.4 在线添加磁盘 MegaCli -LDRecon -Start -r5 -Add -PhysDrv[1:4] -L1 -a0 意思是,重建逻辑磁盘组1,raid级别是5,添加物理磁盘号:1:4。重建完后,新添加的物理磁盘会自动处于重建(同步)状态,这个 时候 fdisk -l是看不到阵列的空间变大的,只有在系统重启后才能看见。如果该阵列下只有一个分区的话,那么该分区也直接增大,如果有多个分区,不知道该怎么分配新增 空间了?有空试试看,呵呵 5、查看阵列初始化信息 5.1 阵列创建完后,会有一个初始化同步块的过程,可以看看其进度。 MegaCli -LDInit -ShowProg -LALL -aALL 或者以动态可视化文字界面显示 MegaCli -LDInit -ProgDsply -LALL -aALL 5.2 查看阵列后台初始化进度 MegaCli -LDBI -ShowProg -LALL -aALL 或者以动态可视化文字界面显示 MegaCli -LDBI -ProgDsply -LALL -aALL 6、创建全局热备 指定第 5 块盘作为全局热备 MegaCli -PDHSP -Set [-EnclAffinity] [-nonRevertible] -PhysDrv[1:5] -a0 也可以指定为某个阵列的专用热备 MegaCli -PDHSP -Set [-Dedicated [-Array1]] [-EnclAffinity] [-nonRevertible] -PhysDrv[1:5] -a0 7、删除全局热备 MegaCli -PDHSP -Rmv -PhysDrv[1:5] -a0 8、将某块物理盘下线/上线 MegaCli -PDOffline -PhysDrv [1:4] -a0 MegaCli -PDOnline -PhysDrv [1:4] -a0 9、查看物理磁盘重建进度 MegaCli -PDRbld -ShowProg -PhysDrv [1:5] -a0 或者以动态可视化文字界面显示 MegaCli -PDRbld -ProgDsply -PhysDrv [1:5] -a0 下载地址: http://gcolpart.evolix.net/debian/misc/dell/MegaCli-1.01.24-0.i386.rpm ============================================= Dell 各系列的机器,只要是 PERC 的RAID控制器,都可以用 MegaRC 这个命令行工具来检测 MegaRC for Windows http://www.lsi.com/files/support/rsa/utilities/megaconf/ut_win_megarc_1.10.zip 解压缩后,就是 megarc.exe MegaRC for Linux http://www.lsi.com/files/support/rsa/utilities/megaconf/ut_linux_megarc_1.11.zip 用 unzip 解压缩出来后,再 chmod 700 megarc* Windows 和 Linux 下的参数都一样: megarc -dispcfg -a0 ./megarc -dispcfg -a0 输出结果如下: Logical Drive : 0( Adapter: 0 ): Status: OPTIMAL ————————————————— SpanDepth :01 RaidLevel: 5 RdAhead : Adaptive Cache StripSz :064KB Stripes : 4 WrPolicy: WriteBack Logical Drive 0 : SpanLevel_0 Disks Chnl Target StartBlock Blocks Physical Target St —- —— ———- —— —————— 0 00 0×00000000 0x0887c000 ONLINE 0 01 0×00000000 0x0887c000 ONLINE 0 02 0×00000000 0x0887c000 ONLINE 0 03 0×00000000 0x0887c000 ONLINE 如果想要通过图形界面来查看,必须装那个大家伙了: Dell OpenManage Server Administrator Linux下有90多M,Win下的有100多M。 Dell 在 Linux 下还有一个更好的工具:raidmon (for win 的目前还没发现) 目前支持 IDE / EIDE, SCSI RAID: LSI Logic CERC ATA 100, PERC 4/DC, PERC 4/Di, PERC 4/SC, LSI Logic (formerly AMI) PERC3/DC, PERC3/DCL, PERC3/QC, PERC3/SC perc-cerc-apps-6.03-A06.tar.gz http://support.dell.com/support/downloads/download.aspx?c=us&l=en&s=gen&releaseid=R71524&formatcnt=2&fileid=92846 解包下来后,有个 Megamon-4.0-0a.i386.rpm 安装结束后 /etc/init.d/raidmon start # tail -f /var/log/megaserv.log 就可以看到检测报告。有问题的时候,此log中会有体现。 还可以编辑 /etc/megamon.conf ,将管理员的信箱加在文件末尾,这样检测到错误的时候,会自动发送邮件。 (mail.35.cn 好象当成垃圾邮件过滤掉了) 因此建议 megarc(手工) 配合 raidmon(自动) 是个比较好的解决方案。 Dell 1950 的 PERC 5/i SAS RAID 控制器用这个命令行工具: MegaCLI for Linux http://www.lsi.com/support/downloads/megaraid/miscellaneous/Linux_MegaCLI_1.01.24.zip MegaCLI for Windows http://www.lsi.com/support/downloads/megaraid/miscellaneous/Windows_MegaCLI_1.01.25.zip # unzip Linux_MegaCLI_1.01.24.zip # unzip MegaCliLin.zip # rpm -ivh MegaCli-1.01.24-0.i386.rpm # /opt/MegaCli -CfgDsply -aALL 输出如下: ============================================================================== Adapter: 0 Product Name: PERC 5/i Integrated Memory: 256MB BBU: Present Serial No: 12345 ============================================================================== RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0 Size:285568MB State: Optimal Physical Disk: 0 Media Error Count: 0 Other Error Count: 0 Firmware state: Online Physical Disk: 1 Media Error Count: 0 Other Error Count: 0 Firmware state: Online Writeback和Writethrough区别 Write caching 或 write-through write-through意思是写操作根本不使用缓存。数据总是直接写入磁盘。关闭写缓存,可释放缓存用于读操作。(缓存被读写操作共用) Write caching可以提高写操作的性能。数据不是直接被写入磁盘;而是写入缓存。从应用程序的角度看,比等待完成磁盘写入操作要快的多。因此,可以提高写性 能。由控制器将缓存内未写入磁盘的数据写入磁盘。表面上看,Write cache方式比write-through方式的读、写性能都要好,但是也要看磁盘访问方式和磁盘负荷了。 write-back(write cache)方式通常在磁盘负荷较轻时速度更快。负荷重时,每当数据被写入缓存后,就要马上再写入磁盘以释放缓存来保存将要写入的新数据,这时如果数据直 接写入磁盘,控制器会以更快的速度运行。因此,负荷重时,将数据先写入缓存反而会降低吞吐量。 Starting and stopping cache flushing levels 这两个设置影响控制器如何处理未写入磁盘的缓存内数据,并且只在write-back cache方式下生效。缓存内数据写入磁盘称为flushing.你可以配置Starting and stopping cache flushing levels值,这个值表示占用整个缓存大小的百分比。当缓存内未写入磁盘的数据达到starting flushing value时,控制器开始flushing(由缓存写入磁盘)。当缓存内未写入磁盘数据量低于stop flush value时,flushing过程停止。控制器总是先flush旧的缓存数据。缓存内未写入数据停留超过20秒钟后被自动flushing. 典型的start flushing level是80%。通常情况下,stop flushing level也设置为80%。也就是说,控制器不允许超过80%的缓存用于write-back cache,但还是尽可能保持这一比例。如果你使用此设置,可以在缓存内存更多的未写入数据。这有利于提高写操作的性能,但是要牺牲数据保护。如果要得到 数据保护,你可以使用较低的start and stop values。通过对这两个参数的设置,你可以调整缓存的读、写性能。经测试表明,使用接近的start and stop flushing levels时性能较好。如果stop level value远远低于start value,在flushing时会导致磁盘拥塞。 Cache block size 这个值指缓存分配单元大小,可以是4K或16K。选择合适的值,可以明显的改善缓存使用性能。 如果应用程序更多时候访问小于8K的数据,而将cache block size设置为16K,每次访问仅使用一部分cache block。在16K的cache block里总是存储8K或更小的数据,意味着只有50%的缓存容量被有效使用,使性能下降。对于随机I/O和小数据块的传送,4K比较合适。另一方面, 如果是连续I/O 并使用大的segment size,最好选择16K。大的cache block size意味着cache block数量少并可缩短缓存消耗延时。另外,对于同样大小的数据,cache block size大一些,需要的缓存数据传送量更小。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册