学习OpenStack之 (0):基础知识

vi 方向键出现字母问题解决方法

  1. 执行命令 sudo apt-get remove vim-common
  2. 执行命令 sudo apt-get install vim

鼠标被virtualbox捕获无法释放

按右Control键可以释放鼠标

使服务在机器重启后自启动

sudo update-rc.d ssh defaults

IP段表示方法

原来“/”后面的数字其实代表了掩码。正常情况下,掩码中的“1”是不可间断的,这样只要知道掩码中“1”的个数,就可以唯一地确定一个掩码。比如“/24”就表示掩码中有24个“1”,即“11111111 11111111 11111111 00000000”,用十进点分法表示就是“255.255.255.0”。

192.168.2.12与192.168.2.20 换成2进制
192.168.2.12二进制11000000.10101000.00000010.00001100
192.168.2.20二进制11000000.10101000.00000010.00010100
相与,有27位地址相同,所以可以写成192.168.2.12/27 主机位就是2的5次方,192168.2.12/27 有32个主机位

tar命令

tar

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

# tar -cf all.tar *.jpg 
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif 
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif 
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar 
这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar 
这条命令是解出all.tar包中所有文件,-x是解开的意思

压缩

tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg

tar –czf jpg.tar.gz *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar –cZf jpg.tar.Z *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压

tar –xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2   //解压 tar.bz2

tar –xZvf file.tar.Z   //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip

总结

1、*.tar 用 tar –xvf 解压

2、*.gz 用 gzip -d或者gunzip 解压

3、*.tar.gz和*.tgz 用 tar –xzf 解压

4、*.bz2 用 bzip2 -d或者用bunzip2 解压

5、*.tar.bz2用tar –xjf 解压

6、*.Z 用 uncompress 解压

7、*.tar.Z 用tar –xZf 解压

8、*.rar 用 unrar e解压

9、*.zip 用 unzip 解压

指定ubuntu的源,参考 http://chenrongya.blog.163.com/blog/static/8747419620143185103297/

配置静态ip地址

$sudo vi /etc/network/interfaces

原有内容只有如下两行:

auto lo

iface lo inet loopback

向末尾追加以下内容:

auto eth0

iface eth0 inet static

address 192.168.0.33

gateway 192.168.0.1

netmask 255.255.255.0

network 192.168.0.0

broadcast 192.168.0.255

然后保存退出;

修改机器名: 修改 /etc/hostname 和 /etc/hosts,再重启机器

W: GPG error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A1715D88E1DF1F24

Google 之,在这篇文档里有提到解决方案:

http://muzso.hu/2007/05/25/how-to-fix-no_pubkey-errors-in-apt-get-update-operations

具体的解决方法步骤是(注意下面的KEY 是根据每次报错而不同的,可能需要用实际报错的KEY替换命令中的KEY值):

$ sudo gpg --keyserver keyserver.ubuntu.com --recv A1715D88E1DF1F24

$ sudo gpg --export --armor A1715D88E1DF1F24 | sudo apt-key add -

注:上面第二个命令中的第二个sudo,因为sudo不能跨越Pipe,所以第二个命令也需要使用sudo

在ubuntu上安装ssh server

现象
ssh client无法连到ubuntu
sammydeair:~ Sammy$ ssh -l s1 10.211.55.4
ssh: connect to host 10.211.55.4 port 22: Connection refused
 
查看
ubuntu上ssh local,同样错误,发现是openssh-server没安装
 
解决
$sudo apt-get update //视网络情况会花比较长的时间
$sudo apt-get upgrade
$sudo apt-get install openssh-server
$sudo /etc/init.d/ssh start
 

在Mac上使用过要license的Parallels Desktop和免费的VirtualBox,比较结果如下:

1. VirtualBox对鼠标的捕获和控制更加友好,Parallels需要按键来释放鼠标,但是VirtualBox里面完全自动。

2. VirtualBox里面虚拟机的运行速度似乎更快,至少关机比Parallels快。

3.VirutalBox里面可以很方便地复制虚拟机,但是在Parallels Desktop里面不知道什么原因“克隆”菜单为灰色不可用。

4. VirtualBox里面多网卡配置更方便。

5. google查到的VirtualBox的文章比Parallels Desktop多得多

至少在我看来,免费的VirtualBox要比收费的Parallels要好些。接下里继续体会VirtualBox。

在Ubuntu里面配置静态IP使得可以连接外网

1. 关闭虚机,在VirtualBox里面,设置虚机的一个网卡为桥接模式

2. 查看主机的DNS server

3. 开虚机,运行ifconfig和route命令,查看该网卡自动获得的IP,netmask,gateway

s1@compute1:~$ route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

10.0.1.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1

192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

4. 运行命令 vi /etc/network/interfaces,设置静态IP,gateway,broadcast,netmask

auto eth0

iface eth0 inet static

address 192.168.1.15

netmask 255.255.255.0

gateway 192.168.1.1

5.配置DNS, 运行vi /etc/resolvconf/resolv.conf.d/tail, 从而在/etc/resolvconf/resolv.conf.d/目录下创建tail文件,写入

nameserver 192.168.1.1
然后重启,DNS生效
 
6.测试。ping www.sohu.com

s1@compute1:~$ ping www.sohu.com

PING fsh.a.sohu.com (114.80.130.88) 56(84) bytes of data.

64 bytes from www.sohu.com (114.80.130.88): icmp_seq=1 ttl=56 time=4.65 ms

64 bytes from www.sohu.com (114.80.130.88): icmp_seq=2 ttl=56 time=6.91 ms

64 bytes from www.sohu.com (114.80.130.88): icmp_seq=3 ttl=56 time=5.39 ms

VirtualBox 虚拟机的几种网络连接方式

学习OpenStack之 (0):基础知识

(1)NAT(网络地址转换模式) :能从虚拟机访问外网,主机不能访问虚拟机。

网络地址转换( NAT )是最简单的方法从一个虚拟机访问外部网。通常,它并不要求在主机网络和客户机上做任何配置。基于这个原因,它是默认的网络模式 。

原理:客户机(即虚拟机)送出的网络帧被 VirtualBox 的 NAT 引擎收到,抽取 TCP/IP 数据,再通过主机的操作系统(即安装 VirtualBox 的操作系统)重新发送出去。送到在主机上的一个应用程序,或者到位于主机同一网络的另一台计算机上,它看起来好象是安装在主机上的程序 VirtualBox,通过一个属于主机的 IP 地址,把数据发送出去。VirtualBox  倾听到数据包裹的回复,通过客户机的私人网络重新包装和发送往客户机上。

效果:使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。但纯NAT模式下,宿主机不能访问虚拟机。

使用场景:如果你想利用安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式.
 
(2)Bridged方式:虚拟机和主机拥有同样的网络功能,能互相访问。
 
用这种方式,虚拟系统的IP可设置成和本机系统在同一网段,虚拟系统相当于网络内的一*立的机器,和本机一起插在一个Hub上,网络内其他机器可访问虚拟系统,虚拟系统也可访问网络内其他机器,当然和本机系统的双向访问也不成问题。
 
(3)内部网络:虚拟机之间可以互相访问,虚拟机不能访问外网,主机和虚机之间不能访问。

内网模式,顾名思义就是内部网络模式:

虚拟机与外网完全断开,只实现虚拟机于虚拟机之间的内部网络模式。

(1)虚拟机与主机的关系:不能相互访问,彼此不属于同一个网络,无法相互访问。

(2)虚拟机与网络中其他主机的关系:不能相互访问,理由同上。

(3)虚拟机与虚拟机的关系:可以相互访问,前提是在设置网络时,两台虚拟机设置同一网络名称。

(4)host-only方式 (主机模式):虚拟机不能访问外网,主机可以访问虚拟机。

Virtualbox在宿主机中模拟出一张专供虚拟机使用的网卡,所有虚拟机都是连接到该网卡上的,虚拟机可以通过该网卡IP访问宿主机,同时Virtualbox提供一个DHCP服务,虚拟机可以获得一个内部网IP,宿主机可以通过该IP访问虚拟机。如果单纯使用Host-only模式,则虚拟机不能连接外部公共网络。
 
(5)通用驱动

作用和效果:运行用于选择网卡驱动。该驱动是virtualbox内部自带的,或者是通过extensionpack添加进来的。此模式实际上很少用到

一般来说,Bridged方式最方便好用。但如果本机系统是win2000而网线没插(或根本没有网卡),网络非常可能不可用(大部分用PCI网卡的机器都如此),此时就只能用NAT方式或host-only,之前所说的那两块虚拟网卡就是适应这两种网络准备的。

使用NAT和host-only混合模式,使得虚拟机既能访问外网,主机也能访问虚机

在虚机关机状态下配置网络,网卡1使用NAT模式,网卡2使用host-only模式。

1. 检查宿主机上host-only adapter的网络设置

学习OpenStack之 (0):基础知识

当添加多个网卡时,比如 eth0 是 NAT 模式用于虚机访问外网,eth1 是 host-only 模式用于宿主机访问虚机,eth2 是internal 模式用于虚机之间互访,需要注意 default gateway。设置不对的话,虚机是不能访问外网的。当专有 eth0 时候,default gw 是它自己,当增加 eth1 和 eth2 后,default gw 就跑到了 eth2上,而 eth2 是不能用于外网访问的。因此,此时需要手工修改 default gw,修改为:

route del default gw 192.168.1.1
route add default gw 10.0.2.2 eth0 root@ceph1:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0
10.0.2.0 0.0.0.0 255.255.255.0 U eth0
192.168.1.0 0.0.0.0 255.255.255.0 U eth2
192.168.56.0 0.0.0.0 255.255.255.0 U eth1
root@ceph1:~# ping www.sohu.com
PING fhk.a.sohu.com (175.100.207.201) () bytes of data.
bytes from 175.100.207.201: icmp_seq= ttl= time= ms
bytes from 175.100.207.201: icmp_seq= ttl= time=69.9 ms
bytes from 175.100.207.201: icmp_seq= ttl= time=69.4 ms
bytes from 175.100.207.201: icmp_seq= ttl= time=68.5 ms
bytes from 175.100.207.201: icmp_seq= ttl= time=71.9 ms

注意 eth0 的 default gw 是 10.0.2.2 而不是 10.0.2.1.

2. 开启虚拟机配置网络

sudo vi /etc/network/interfaces

学习OpenStack之 (0):基础知识

sudo /etc/init.d/networking restart

可运行ifconfig查看ip

3. 可以从主机ping和ssh虚拟机了

上一篇:Entity Framework Core 使用HiLo生成主键


下一篇:cxf webservice简单应用