“云服务自动分区挂载数据盘和分区”与“云计算SPI三大模式”:页面之间的差异

来自linuxsa wiki
(页面间差异)
跳转到导航 跳转到搜索
Evan留言 | 贡献
 
Evan留言 | 贡献
导入1个版本
 
第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]]

2019年10月14日 (一) 13:55的最新版本

云计算SPI三大模式

根据NIST(NationalInstituteofStandardsandTechnology,美国国家标准与技术研究院)的权威定义,云计算的服务模式有SPI(即SaaS、PaaS和IaaS)这三个大类或层次。这是目前被业界最广 泛认同的划分。PaaS和IaaS源于SaaS理念。PaaS和IaaS可以直接通过SOA/Web Services向平台用户提供服务, 也可以作为SaaS模式的支撑平台间接向最终用户服务

假设你是一家超牛X的技术公司,根本不需要别人提供服务,你拥有基础设施、应用等等其它一切,你把它们分为三层:基础设施(infrastructure)、平台(platform)和软件(software),如下图:


这其实就是云计算的三个分层,基础设施在最下端,平台在中间,软件在顶端,分别是分别是Infrastructure-as-a-Service(IaaS),Platform-as-a-Service(PaaS),Software-as-a-Service(SaaS),别的一些“软”的层可以在这些层上面添加。

而你的公司什么都有,现在所处的状态叫本地部署(On-Premises),就像在自己家做pizza一样。几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来,这就叫本地部署。

假如你家BOSS突然有一天想明白了,只是为了吃上pizza,为什么非要自己做呢?于是,准备考虑一家云服务供应商,这个云服务供应商能提供哪些服务呢?其所能提供的云服务也就是云计算的三个分层:IaaS、PaaS和SaaS,就像pizza店提供三种服务:买成品回家做、外卖和到披萨店吃。


云也是分层的

  任何一个在互联网上提供其服务的公司都可以叫做云计算公司。其实云计算分几层的,分别是Infrastructure(基础设施)-as-a-Service,Platform(平台)-as-a-Service,Software(软件)-as-a-Service。基础设施在最下端,平台在中间,软件在顶端。别的一些“软”的层可以在这些层上面添加。



 IaaS: Infrastructure-as-a-Service(基础设施即服务)

  第一层叫做IaaS,有时候也叫做Hardware-as-a-Service,几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来。
  但是现在有IaaS,你可以将硬件外包到别的地方去。IaaS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。
  一些大的IaaS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat.不过这些公司又都有自己的专长,比如Amazon和微软给你提供的不只是IaaS,他们还会将其计算能力出租给你来host你的网站。

PaaS: Platform-as-a-Service(平台即服务)

  第二层就是所谓的PaaS,某些时候也叫做中间件。你公司所有的开发都可以在这一层进行,节省了时间和资源。
  PaaS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等。
  一些大的PaaS提供者有Google App Engine,Microsoft Azure,Force.com,Heroku,Engine Yard。最近兴起的公司有AppFog, Mendix 和 Standing Cloud

SaaS: Software-as-a-Service(软件即服务)

  第三层也就是所谓SaaS。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行,就是SaaS了。
  你消费的服务完全是从网页如Netflix, MOG, Google Apps, Box.net, Dropbox或者苹果的iCloud那里进入这些分类。尽管这些网页服务是用作商务和娱乐或者两者都有,但这也算是云技术的一部分。
  一些用作商务的SaaS应用包括Citrix的GoToMeeting,Cisco的WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors。

Iaas和Paas之间的比较


IaaS的主要应用趋势 

see also

https://blog.csdn.net/m0_37284701/article/details/56833176

云计算的三层SPI模型

云计算的三层SPI模型

云计算的SPI服务模型