shell 脚本实战笔记(7)--集群网络相关知识和环境搭建
前言:
对网络相关的知识, 做下笔记. 包括IP地址A/B/C的分类, 静态地址的配置/DNS配置, 以及网卡相关信息查看.
*) A/B/C/D类网络地址的划分
IP地址=网络地址+主机地址 或 IP地址=主机地址+子网地址+主机地址
IPv4的地址划分, 可以分为5种类型, A/B/C/D/E类
A类地址:
由1字节的网络地址和3字节主机地址组成, 网络地址最高位必须是"0", 地址范围从1.0.0.0到126.0.0.0. A类网络有126个, 每个网络能容纳1亿多个主机.
B类地址:
由2个字节的网络地址和2字节的主机地址组成, 网络地址最高位必须是"10", 地址范围从128.0.0.0到191.255.255.255. B类网络有16382, 每个网络能容纳6万多个主机.
C类地址:
由3个字节的网络地址和1字节的主机地址组成, 网络地址最高位必须是"110", 范围从192.0.0.0到223.255.255.255. C类网络可达209万余, 每个网络可容纳254个主机.
D类地址
用于多点广播, 第一字节以"1110"开始, 它是一个专门保留的地址.
E类地址
以"1110"开始, 为将来使用保留.
特殊地址
0.0.0.0 地址对应当前主机, 255.255.255.255为当前子网的广播地址.
在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:
A类地址:10.0.0.0~10.255.255.255
B类地址:172.16.0.0~172.31.255.255
C类地址:192.168.0.0~192.168.255.255
这个私有地址, 用于局域网网络, 比如学校(A类)/网吧(B类)/寝室(C类). 接入外网则使用NAT的方式来实现.
*) 静态地址的配置
假设应用场景:
centos 6.4系统, 局域网为B类私有地址, 网关: 172.16.0.1, 子网掩码: 255.255.252.0
1. 空闲IP检测
Destination Host Unreachable, 表示该IP还没被占用
2. 展示网卡设备列表
ifconfig -a
3. 编辑相关网卡设备
以网卡eth0为例
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.16.1.211
GATEWAY=172.16.0.1
NETMASK=255.255.252.0
对应网卡的IP地址的配置文件:
DEVICE= #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0
BOOTPROTO= #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
BROADCAST= #对应的子网广播地址
HWADDR= #对应的网卡物理地址
IPADDR= #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址
IPV6INIT=no
IPV6_AUTOCONF=no
NETMASK= #网卡对应的网络掩码
NETWORK= #网卡对应的网络地址
ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备
4. 网络重启
service network restart
5. 验证
除了采用这种配置方式外, 还可以采用ifconfig的方式来配置, 但这个当机器重启的时候会失效.
ifconfig <interface> <ip> hw [hw addr] netmask [net mask] broadcast [broadcast] [up/down]
ifconfig eth0 172.16.1.106 netmask 255.255.252.0 up
*) FQNS的设置
假设本机ip: 172.16.1.106, 主机名: tw-node6
1. 编辑/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=tw-node6 # HOSTNAME对应的值就是主机名
2. 编辑/etc/hosts
添加以下行
172.16.1.106 tw-node6
最好能保证/etc/hosts下配置绑定的主机名和/etc/sysconfig/network的保持一致.
*) DNS的设置
#vi /etc/resolv.conf
配置内容实例:
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器
*) 网卡带宽的查看和修改
1. 查看网卡带宽
ethtool eth0
Speed: 1000Mb/s, 即是网卡带宽值
当然网卡提供如下选择10base/100base/1000base, 如图所示, 而且真实的网卡带宽取决于网络环境和协商.
mii-tool -v命令也行
2. 修改网卡带宽
ethtool –s ethX
[speed 10|100|1000] //设置网口速率10/100/1000M
[duplex half|full] //设置网口半/全双工
[autoneg on|off] //设置网口是否自协商
参考链接:
http://blog.csdn.net/panjunnn/article/details/5653388
http://pangxiaoming1020.blog.163.com/blog/static/35058493201382211353073/
http://hi.baidu.com/yanghaiquanyyy/item/bfc8bace1ed78136a0b50a9b
shell 脚本实战笔记(7)--集群网络相关知识和环境搭建的更多相关文章
- shell 脚本实战笔记(10)--spark集群脚本片段念念碎
前言: 通过对spark集群脚本的研读, 对一些重要的shell脚本技巧, 做下笔记. *). 取当前脚本的目录 sbin=`dirname "$0"` sbin=`cd &quo ...
- shell脚本特殊变量与变量子串相关知识
一.shell脚本特殊变量 1.shell中常用特殊位置变量说明: $0 获取当前执行的shell脚本的文件名,如果执行脚本包含了路径,那么就包含了脚本路径 $n 获取当前执行的shell脚本的第n个 ...
- shell 脚本实战笔记(11)--Mysql在linux下的安装和简单运维
前言: linux中安装mysql以及配置的管理, 基础的运维和管理还是需要会一些的. 这边作下笔记, 以求天天向上(^_^). 安装流程:*). 安装mysql-server1). 借助yum检索相 ...
- shell 脚本实战笔记(1)--source/fork/exec的区别
在linux shell编程中, 随着脚本处理规模的变大, 会嵌套调用子进程. 但父进程以不同的方式调用子进程, 其结果和背后的机制不尽相同.这边就简单描述下source/fork/exec调用子进程 ...
- shell 脚本实战笔记(2)--环境变量PATH的恩怨情仇
在linux环境下, 相信大家对环境变量PATH, 多多少少有所接触, 这边讲讲PATH的在linux的前世因缘. 先讲讲一个列子 假如我们在为一个新的应用配置其PATH路径中时, 不小心忽略了原先 ...
- shell 脚本实战笔记(9)--linux自动批量添加用户
前言: 添加linux用户帐号,这个相对简单, 在面对集群, 许多机器的时候, 我们该如何去做和实现? 这篇短文, 简单讲解一些思路, 尽可能地涉及周边的一些知识点. 不光是运维人员会面临这个问题, ...
- shell 脚本实战笔记(8)--ssh免密码输入执行命令
前言: ssh命令, 没有指定密码的参数. 以至于在脚本中使用ssh命令的时候, 必须手动输入密码, 才能继续执行. 这样使得脚本的自动化执行变得很差, 尤其当ssh对应的机器数很多的时候, 会令人抓 ...
- shell 脚本实战笔记(6)--集群环境配置检测
1). 背景: 集群部署的时候, 需要一致的配置和环境设置. 对于虚拟机集群, 可以借助镜像拷贝, 复制和还原集群机器. 对与物理机集群而言, 则不一样, 如果机器一多, 多人去操作和配置, 对于成熟 ...
- shell 脚本实战笔记(4)--linux磁盘分区重新挂载
背景: Hadoop的HDFS文件系统的挂载, 默认指定的文件目录是/mnt/disk{N}. 当运维人员, 不小心把磁盘挂载于其他目录, 比如/mnt/data, /mnt/disk01, /mnt ...
随机推荐
- TypeScript基础学习
什么是TypeScript? TypeScript是一种由微软开发的自由的和开源的编程语言,它是JavaScript的一个超集,扩展了JavaScript的语法. TypeScript支持任意浏览器, ...
- JS身份证验证
window.checkIdcard = function (idcard) { var errors = new Array( "yes", "请检查输入的证件号码是否 ...
- Codeforces 919D - Substring
919D - Substring 思路: 拓扑排序判环+DAG上dp+记忆化搜索 状态:dp[i][j]表示以i为起点的路径中j的最大出现次数 初始状态:dp[i][j]=1(i have no so ...
- [html]点击button后画面被刷新原因:未设置type="button"
一.问题原因解析: 在form表单里的button, type 属性未设置的情况下,Internet Explorer 的默认类型是 "button",而其他浏览器中(包括 W3C ...
- Lua 中与字符串有关的函数学习
string1 = "lua" print(string.upper(string1)) string2 = 'LGS' print(string.lower(string2)) ...
- getpagesize.c:32: __getpagesize: Assertion `_rtld_global_ro._dl_pagesize != 0' failed
为arm 编译 mysql , 执行的时候出现了这个问题. 好像是个bug, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626379 重新编译 ...
- SQL 进阶视频课程。Udacity: Intro to Relational Databases和 PostgreSQL语法文档。
Udacity: Intro to Relational Databases The syntax of the select statement with a where clause: selec ...
- PHP函数总结 (二)
<?php header('content-type:text/html;charset=utf8');// 只要声明的函数在脚本中可见,就可以通过函数名在脚本的任何位置调用echo table ...
- Codeforces Round #449 (Div. 1)C - Willem, Chtholly and Seniorious
ODT(主要特征就是推平一段区间) 其实就是用set来维护三元组,因为数据随机所以可以证明复杂度不超过O(NlogN),其他的都是暴力维护 主要操作是split,把区间分成两个,用lowerbound ...
- C/C++中的实参和形参,重点以及盲点,自己以前未知的
C/C++中的实参和形参 今天突然看到一道关于形参和实参的题,我居然不求甚解.藐视过去在我的脑海里只有一个参数的概念,对于形参和实参的区别还真的不知道,作为学习了几年C++的人来说,真的深深感觉对 ...