|
|
第1行: |
第1行: |
| =Note=
| |
|
| |
| 背景信息
| |
|
| |
| 数据盘的设备名默认由系统分配,命名规则如下所示:
| |
|
| |
| I/O优化实例的数据盘设备名为/dev/vd[b-z],例如/dev/vdb、/dev/vdc和/dev/vdd等。
| |
| 非I/O优化实例的数据盘设备名为/dev/xvd[b-z],例如/dev/xvdb、/dev/xvdc和/dev/xvdd等。
| |
|
| |
| 数据盘支持创建GPT分区和MBR分区,二者区别如下:
| |
|
| |
| GPT:能够识别大于2 TiB的分区,创建分区数量无限制。
| |
| MBR:只能识别小于或等于2 TiB的分区,最多创建4个分区。
| |
|
| |
|
| |
|
| |
| =分区格式化大于2 TiB数据盘=
| |
| [https://help.aliyun.com/document_detail/34377.html?spm=a2c4g.11186623.2.11.17446296TLpw9t#concept-i15-qpc-ydb 分区格式化大于2 TiB数据盘 aliyun]
| |
|
| |
| =分区格式化小于2 TiB数据盘=
| |
| ==来自qq云脚本==
| |
|
| |
| ===function 化===
| |
| <pre>
| |
|
| |
| #!/bin/bash
| |
| # 2019 建议尽量用xfs on aws ec2 Tue Jan 14 06:06:39 UTC 2020
| |
|
| |
| function vdbmk()
| |
| {
| |
| if grep -q /data /etc/fstab ;then
| |
| uuid=notneed; echo /data already in fstab;
| |
| else uuid=`mkfs.xfs /dev/vdb > /dev/null 2>&1 && blkid /dev/vdb | awk '{print $2}'`;
| |
| fi
| |
|
| |
| if [[ $uuid == UUID* ]]; then
| |
| echo $uuid /data xfs defaults 1 0 >> /etc/fstab;
| |
|
| |
| #check the fstab file 2020
| |
| if grep /data /etc/fstab | grep UUID ;then
| |
| mount -a;
| |
| else
| |
| echo "fstab files has err exit "
| |
| exit 1
| |
| fi
| |
|
| |
| else echo mkfs failed;
| |
| fi
| |
| }
| |
|
| |
|
| |
| function xdvmk()
| |
| {
| |
| if grep -q /data /etc/fstab ;then
| |
| uuid=notneed; echo /data already in fstab;
| |
| else uuid=`mkfs.xfs /dev/xvdb > /dev/null 2>&1 && blkid /dev/xvdb | awk '{print $2}'`;
| |
| fi
| |
|
| |
| if [[ $uuid == UUID* ]]; then
| |
| echo $uuid /data xfs defaults 1 0 >> /etc/fstab;
| |
|
| |
| #check the fstab file 2020
| |
| if grep /data /etc/fstab | grep UUID ;then
| |
| mount -a;
| |
| else
| |
| echo "fstab files has err exit "
| |
| exit 1
| |
| fi
| |
|
| |
| else echo mkfs failed;
| |
| fi
| |
| }
| |
|
| |
| function nvmmk()
| |
| {
| |
| mkdir -p /data
| |
| if grep -q /data /etc/fstab ;then
| |
| uuid=notneed; echo /data already in fstab;
| |
| else uuid=`mkfs.xfs /dev/nvme1n1 > /dev/null 2>&1 && blkid /dev/nvme1n1 | awk '{print $2}'`;
| |
| fi
| |
|
| |
| if [[ $uuid == UUID* ]]; then
| |
| echo $uuid /data xfs defaults 1 0 >> /etc/fstab;
| |
|
| |
| #check the fstab file 2020
| |
| if grep /data /etc/fstab | grep UUID ;then
| |
| mount -a;
| |
| else
| |
| echo "fstab files has err exit "
| |
| exit 1
| |
| fi
| |
|
| |
| else echo mkfs failed;
| |
| fi
| |
| }
| |
|
| |
| mkdir -p /data
| |
| if fdisk -l | grep nvme1n1; then
| |
| nvmmk;
| |
| elif fdisk -l | grep vdb; then
| |
| vdbmk;
| |
| elif fdisk -l | grep xvdb; then
| |
| xdvmk;
| |
| else
| |
| echo "not xvdb or nvm"; exit 1
| |
| fi
| |
|
| |
| rm $0</pre>
| |
|
| |
| ===简洁版本 ===
| |
| <pre>
| |
| Wed Dec 08 2021
| |
| #想简洁就这个 qcloud 专用
| |
| #!/bin/bash
| |
| #建议尽量用ext4 only aliyun 一般是ext4
| |
| mkdir -p /data
| |
| if grep -q /data /etc/fstab ;then
| |
| uuid=notneed; echo /data already in fstab;
| |
| else uuid=`mkfs.ext4 /dev/vdb > /dev/null 2>&1 && blkid /dev/vdb | awk '{print $2}'`;
| |
| fi
| |
|
| |
| if [[ $uuid == UUID* ]]; then
| |
| echo $uuid /data ext4 noatime,acl,user_xattr 1 0 >> /etc/fstab;
| |
| mount -a;
| |
| else echo mkfs failed;
| |
| fi
| |
| rm $0
| |
|
| |
|
| |
| 过程
| |
| java2:~# bash -x 1
| |
| + mkdir -p /data
| |
| + grep -q /data /etc/fstab
| |
| ++ mkfs.ext4 /dev/vdb
| |
| ++ blkid /dev/vdb
| |
| ++ awk '{print $2}'
| |
| + uuid='UUID="717368e4-f101-46b1-91ea-ef1812342501"'
| |
| + [[ UUID="717368e4-f101-46b1-91ea-ef1812342501" == UUID* ]]
| |
| + echo 'UUID="717368e4-f101-46b1-91ea-ef1812342501"' /data ext4 noatime,acl,user_xattr 1 0
| |
| + mount -a
| |
| + rm 1
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
| </pre>
| |
|
| |
| ===以前的老的版本===
| |
| <pre> | | <pre> |
| | 云计算SPI三大模式 |
|
| |
|
| | 根据NIST(NationalInstituteofStandardsandTechnology,美国国家标准与技术研究院)的权威定义,云计算的服务模式有SPI(即SaaS、PaaS和IaaS)这三个大类或层次。这是目前被业界最广 泛认同的划分。PaaS和IaaS源于SaaS理念。PaaS和IaaS可以直接通过SOA/Web Services向平台用户提供服务, 也可以作为SaaS模式的支撑平台间接向最终用户服务 |
|
| |
|
| #!/bin/bash
| | 假设你是一家超牛X的技术公司,根本不需要别人提供服务,你拥有基础设施、应用等等其它一切,你把它们分为三层:基础设施(infrastructure)、平台(platform)和软件(software),如下图: |
| # 2019 建议尽量用xfs on aws ec2 Tue Jan 14 06:06:39 UTC 2020
| |
| mkdir -p /data
| |
| if grep -q /data /etc/fstab ;then
| |
| uuid=notneed; echo /data already in fstab;
| |
| if fdisk -l | grep nvme1n1; then
| |
|
| |
| uuid=`mkfs.xfs /dev/nvme1n1 > /dev/null 2>&1 && blkid /dev/nvme1n1 | awk '{print $2}'`;
| |
| elif fdisk -l | grep xvdb; then
| |
| | |
| uuid=`mkfs.xfs /dev/xvdb > /dev/null 2>&1 && blkid /dev/xvdb | awk '{print $2}'`;
| |
| else
| |
| echo "not xvdb or nvm"; exit 1
| |
| fi
| |
| | |
| if [[ $uuid == UUID* ]]; then
| |
| echo $uuid /data xfs defaults 1 0 >> /etc/fstab;
| |
| | |
| #check the fstab file 2020
| |
| if grep /data /etc/fstab | grep UUID ;then
| |
| mount -a;
| |
| else
| |
| echo "fstab files has err exit "
| |
| exit 1
| |
| fi
| |
| | |
| else echo mkfs failed;
| |
| fi
| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| #!/bin/bash
| |
| # 2019 建议尽量用xfs on aws ec2 Sun Sep 29 16:09:40 CST 2019 如果只用了xvdb 数据盘
| |
| mkdir -p /data
| |
| if grep -q /data /etc/fstab ;then
| |
| uuid=notneed; echo /data already in fstab;
| |
| else uuid=`mkfs.xfs /dev/xvdb > /dev/null 2>&1 && blkid /dev/xvdb | awk '{print $2}'`;
| |
| fi
| |
| | |
| if [[ $uuid == UUID* ]]; then
| |
| echo $uuid /data xfs defaults 1 0 >> /etc/fstab;
| |
| | |
| #check the fstab file 2020
| |
| if grep /data /etc/fstab | grep UUID ;then
| |
| mount -a;
| |
| else
| |
| echo "fstab files has err exit "
| |
| exit 1
| |
| fi
| |
| | |
| else echo mkfs failed;
| |
| fi
| |
| rm $0
| |
| | |
| | |
|
| |
|
|
| |
|
| | 这其实就是云计算的三个分层,基础设施在最下端,平台在中间,软件在顶端,分别是分别是Infrastructure-as-a-Service(IaaS),Platform-as-a-Service(PaaS),Software-as-a-Service(SaaS),别的一些“软”的层可以在这些层上面添加。 |
|
| |
|
| | 而你的公司什么都有,现在所处的状态叫本地部署(On-Premises),就像在自己家做pizza一样。几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来,这就叫本地部署。 |
|
| |
|
| | 假如你家BOSS突然有一天想明白了,只是为了吃上pizza,为什么非要自己做呢?于是,准备考虑一家云服务供应商,这个云服务供应商能提供哪些服务呢?其所能提供的云服务也就是云计算的三个分层:IaaS、PaaS和SaaS,就像pizza店提供三种服务:买成品回家做、外卖和到披萨店吃。 |
|
| |
|
| #note 原版的 fstab xfs
| |
| UUID="f78f0ed2-2d18-49a1-b5b9-33a39f77315b" /data2 xfs defaults 0 0
| |
|
| |
|
| | 云也是分层的 |
|
| |
|
| | 任何一个在互联网上提供其服务的公司都可以叫做云计算公司。其实云计算分几层的,分别是Infrastructure(基础设施)-as-a-Service,Platform(平台)-as-a-Service,Software(软件)-as-a-Service。基础设施在最下端,平台在中间,软件在顶端。别的一些“软”的层可以在这些层上面添加。 |
|
| |
|
|
| |
|
|
| |
|
| </pre>
| | IaaS: Infrastructure-as-a-Service(基础设施即服务) |
|
| |
|
| | 第一层叫做IaaS,有时候也叫做Hardware-as-a-Service,几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来。 |
| | 但是现在有IaaS,你可以将硬件外包到别的地方去。IaaS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。 |
| | 一些大的IaaS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat.不过这些公司又都有自己的专长,比如Amazon和微软给你提供的不只是IaaS,他们还会将其计算能力出租给你来host你的网站。 |
|
| |
|
| [root@VM_135_85_centos ~]# mkfs.ext3 /dev/vdb > /dev/null 2>&1 && blkid /dev/vdb
| | PaaS: Platform-as-a-Service(平台即服务) |
|
| |
|
| /dev/vdb: UUID="aee97e63-0081-4088-85c4-c6ae9a7ab253" SEC_TYPE="ext2" TYPE="ext3"
| | 第二层就是所谓的PaaS,某些时候也叫做中间件。你公司所有的开发都可以在这一层进行,节省了时间和资源。 |
| | PaaS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等。 |
| | 一些大的PaaS提供者有Google App Engine,Microsoft Azure,Force.com,Heroku,Engine Yard。最近兴起的公司有AppFog, Mendix 和 Standing Cloud |
|
| |
|
| == 阿里云脚本==
| | SaaS: Software-as-a-Service(软件即服务) |
| <pre>
| |
| #/bin/bash
| |
| #########################################
| |
| #Function: auto fdisk
| |
| #Usage: bash auto_fdisk.sh
| |
| #Author: Customer service department
| |
| #Company: Alibaba Cloud Computing
| |
| #Version: 4.0
| |
| #########################################
| |
|
| |
|
| count=0
| | 第三层也就是所谓SaaS。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行,就是SaaS了。 |
| tmp1=/tmp/.tmp1
| | 你消费的服务完全是从网页如Netflix, MOG, Google Apps, Box.net, Dropbox或者苹果的iCloud那里进入这些分类。尽管这些网页服务是用作商务和娱乐或者两者都有,但这也算是云技术的一部分。 |
| tmp2=/tmp/.tmp2
| | 一些用作商务的SaaS应用包括Citrix的GoToMeeting,Cisco的WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors。 |
| >$tmp1
| |
| >$tmp2
| |
| fstab_file=/etc/fstab
| |
|
| |
|
| #check lock file ,one time only let the script run one time
| | Iaas和Paas之间的比较 |
| LOCKfile=/tmp/.$(basename $0)
| |
| if [ -f "$LOCKfile" ]
| |
| then
| |
| echo -e "\033[1;40;31mThe script is already exist,please next time to run this script.\033[0m"
| |
| exit
| |
| else
| |
| echo -e "\033[40;32mStep 1.No lock file,begin to create lock file and continue.\033[40;37m"
| |
| touch $LOCKfile
| |
| fi
| |
|
| |
|
| #check user
| |
| if [ $(id -u) != "0" ]
| |
| then
| |
| echo -e "\033[1;40;31mError: You must be root to run this script, please use root to install this script.\033[0m"
| |
| rm -rf $LOCKfile
| |
| exit 1
| |
| fi
| |
|
| |
|
| #check disk partition
| | IaaS的主要应用趋势 |
| check_disk()
| |
| {
| |
| >$LOCKfile
| |
| device_list=$(fdisk -l|grep "Disk"|grep "/dev"|awk '{print $2}'|awk -F: '{print $1}'|grep "vd")
| |
| for i in `echo $device_list`
| |
| do
| |
| device_count=$(fdisk -l $i|grep "$i"|awk '{print $2}'|awk -F: '{print $1}'|wc -l)
| |
| echo
| |
| if [ $device_count -lt 2 ]
| |
| then
| |
| now_mount=$(df -h)
| |
| if echo $now_mount|grep -w "$i" >/dev/null 2>&1
| |
| then
| |
| echo -e "\033[40;32mThe $i disk is mounted.\033[40;37m"
| |
| else
| |
| echo $i >>$LOCKfile
| |
| echo "You have a free disk,Now will fdisk it and mount it."
| |
| fi
| |
| fi
| |
| done
| |
| disk_list=$(cat $LOCKfile)
| |
| if [ "X$disk_list" == "X" ]
| |
| then
| |
| echo -e "\033[1;40;31mNo free disk need to be fdisk.Exit script.\033[0m"
| |
| rm -rf $LOCKfile
| |
| exit 0
| |
| else
| |
| echo -e "\033[40;32mThis system have free disk :\033[40;37m"
| |
| for i in `echo $disk_list`
| |
| do
| |
| echo "$i"
| |
| count=$((count+1))
| |
| done
| |
| fi
| |
| }
| |
| | |
| #check os
| |
| check_os()
| |
| {
| |
| os_release=$(grep "Aliyun Linux release" /etc/issue 2>/dev/null)
| |
| os_release_2=$(grep "Aliyun Linux release" /etc/aliyun-release 2>/dev/null)
| |
| if [ "$os_release" ] && [ "$os_release_2" ]
| |
| then
| |
| if echo "$os_release"|grep "release 5" >/dev/null 2>&1
| |
| then
| |
| os_release=aliyun5
| |
| modify_env
| |
| fi
| |
| fi
| |
| }
| |
| | |
| #install ext4
| |
| modify_env()
| |
| {
| |
| modprobe ext4
| |
| yum install e4fsprogs -y
| |
| }
| |
| | |
| #fdisk ,formating and create the file system
| |
| fdisk_fun()
| |
| {
| |
| fdisk -S 56 $1 << EOF
| |
| n
| |
| p
| |
| 1
| |
| | |
| | |
| wq
| |
| EOF
| |
| | |
| sleep 5
| |
| mkfs.ext4 ${1}1
| |
| }
| |
| | |
| #make directory
| |
| make_dir()
| |
| {
| |
| echo -e "\033[40;32mStep 4.Begin to make directory\033[40;37m"
| |
| now_dir_count=$(ls /|grep "alidata*"|awk -F "data" '{print $2}'|sort -n|tail -1)
| |
| if [ "X$now_dir_count" == "X" ]
| |
| then
| |
| for j in `seq $count`
| |
| do
| |
| echo "/alidata$j" >>$tmp1
| |
| mkdir /alidata$j
| |
| done
| |
| else
| |
| for j in `seq $count`
| |
| do
| |
| k=$((now_dir_count+j))
| |
| echo "/alidata$k" >>$tmp1
| |
| mkdir /alidata$k
| |
| done
| |
| fi
| |
| }
| |
| | |
| #config /etc/fstab and mount device
| |
| main()
| |
| {
| |
| for i in `echo $disk_list`
| |
| do
| |
| echo -e "\033[40;32mStep 3.Begin to fdisk free disk.\033[40;37m"
| |
| fdisk_fun $i
| |
| echo "${i}1" >>$tmp2
| |
| done
| |
| make_dir
| |
| >$LOCKfile
| |
| paste $tmp2 $tmp1 >$LOCKfile
| |
| echo -e "\033[40;32mStep 5.Begin to write configuration to /etc/fstab and mount device.\033[40;37m"
| |
| while read a b
| |
| do
| |
| if grep -v ^# $fstab_file|grep ${a} >/dev/null
| |
| then
| |
| sed -i "s=${a}*=#&=" $fstab_file
| |
| fi
| |
| echo "${a} $b ext4 defaults 0 0" >>$fstab_file
| |
| done <$LOCKfile
| |
| mount -a
| |
| }
| |
| | |
| #=========start script===========
| |
| echo -e "\033[40;32mStep 2.Begin to check free disk.\033[40;37m"
| |
| check_os
| |
| check_disk
| |
| main
| |
| df -h
| |
| rm -rf $LOCKfile $tmp1 $tmp2
| |
|
| |
|
| </pre> | | </pre> |
| | =see also= |
|
| |
|
| ==参考 ==
| | https://blog.csdn.net/m0_37284701/article/details/56833176 |
| https://www.qcloud.com/document/product/362/6735 | |
| | |
| | |
| [https://help.aliyun.com/document_detail/25426.html?spm=5176.7738005.2.2.knvWII 如果是阿里 格式化和挂载数据盘]
| |
| | |
|
| |
|
| | [https://www.cnblogs.com/imlucky/p/3567480.html 云计算的三层SPI模型] |
|
| |
|
| | [https://blog.csdn.net/mal327/article/details/6920312 云计算的三层SPI模型] |
|
| |
|
| [https://blog.csdn.net/yangzhengquan19/article/details/83788277 linux fdisk 分区、格式化、挂载] | | [https://blog.csdn.net/broadview2006/article/details/6156180 云计算的SPI服务模型] |
|
| |
|
| [[category:ops]]
| | [[category:ops]] |