2018年11月23日 星期五

RHEL圖形化管理工具 -- cockpit

一直以來,Linux幾乎都是用command方式來管理,也造成很多人認為學習門檻過高而怯步。而RedHat終於在RHEL7.6的時候放入了Cockpit來做GUI的管理。
一 安裝套件
1.  cockpit
2.  cockpit-dashboard

二 安裝步驟
1. 註冊RHEL ,並enable相關repo  (如果用centos可以跳過)

# subscription-manager registry
# subscription-manager list --available
# subscription-manager attach --pool=xxxxxxxxxxx     //請輸入正確的pool id
# subscription-manager repos --enable=rhel-7-server-extras-rpms --enable=rhel-7-server-optional-rpms --enable=rhel-7-server-rpms                               //啟用必要的repo,如有錯誤請洽redhat


2. 安裝相關套件

# yum install cockpit cockpit-dashboard

3. 開啟防火牆

# firewall-cmd --add-port=9090/tcp
# firewall-cmd --permanent --add-port=9090/tcp

# firewall-cmd --reload


三 界面
1. 登入畫面,可看到基本資訊,也可看到資源使用狀況

2.  network input/output 狀態


3. 可以做帳號的新增管理,而且可以設定lock


4. 可查看並管理services 狀況,可起停services

5. 可查看selinux狀況,有裝setroubleshoot套件的話,可以看到相關訊息

6. 也有提供web teminal可以使用

7. 有提供Dashboard,可加入其他主機來查看,建立集中化管理界面 


雖然我應該還是會用Command來做系統管理,但這個功能也算是造福許多CMD苦手的人。而且看一些統計資料還是看圖形比較方便,還是有它的功用在。

2018年8月23日 星期四

使用Gnome-Disk 修改USB Disk 掛載參數

小弟最近一直在調整USB Disk掛載的權限與位置,試了很多方式,也改了udev policy,但可能小弟資質駑鈍,都沒辦法成功,後來偶然間看到原來Gnome tool: gnome-disk就可以符合我的需求,趕快將步驟記錄下來,以免忘記

1. 插入USB Diks,可看到掛載於/run/media/marcus 下

  
2. 開啟gnome-disk tool,點選該USB Disk,並點及儲存區下方的齒輪圖標,選取下拉選單中的編輯掛載選項

3.在選單中,開啟工作階段預設值,可輸入掛載選項與掛載點


 3. 修改完成後按確定,將USB Disk卸載並重新掛載,可看到已掛載到/maxusb

20190614 補充
1. 現行Linux 發行版預設情況下都會啟用SElinux,如果要在掛載時自動加入SElinux參數,可參考以下方式寫入所需context,此例是供kvm image使用


2015年6月26日 星期五

Linuxmint 17 螢幕不能調整亮度

        公司配了一台Lenovo X230 NB給我日常工作用,也在裡面安裝了Linuxmint 17來使用,基本上都沒太大問題,也使用得很順暢。唯一一直讓我困擾的是,因為我在公司都雙螢幕使用,可是當移動NB時,螢幕都會變很暗,而且無法調整。

       在網路上找了很久一直無法處理,直到找到這一篇:按這裡

解決方法如下:
1. $ sudo vim /usr/share/X11/xorg.conf.d/20-intel.conf
輸入以下資訊後存檔

Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "AccelMethod"     "sna"
   Option      "Backlight"       "intel_backlight"
   BusID       "PCI:0:2:0"
EndSection

2. 重新開機,搞定收工

2012年11月19日 星期一

RHEL5 & 6 NIC Bonding

RHEL5跟RHEL6的bonding設定略有不同,寫一下以免老是忘記打錯

1. RHEL5
假設是要將eth0與eth1做mode1的bonding
  • 編輯/etc/modprobe.conf檔案,加入:
# vim /etc/modprobe.conf
   
alias bond0 bonding


  • 修改/etc/sysconfig/network-script/底下的ifcfg-eth0與ifcfg-eth1,並新增ifcfg-bond0
# cd /etc/sysconfig/network-script
# vim ifcfg-bond0
DEVICE=bond0
IPADDR=192.168.1.100
NETMASK=255.255.255.0
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
BONDING_OPTS="mode=1 miimon=100"


# vim ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no


# vim ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no


  • 重啟網路
# /etc/init.d/network restart


2.RHEL6:
情境跟RHEL5一樣,eth0+eth1做成bond0
  • 編輯/etc/modprobe.d/底下的設定檔(6版改為folder,裡面只要是.conf結尾的檔案都會生效)
# vim /etc/modprobe.d/bonding.conf
alias bond0 bonding
**如果有兩個以上的bonding介面,就再加alias bond1 bonding ...以此類推


  • 修改/etc/sysconfig/network-script/裡面關於eth0與eth1的設定,新增bond0
# vim /etc/sysconfig/network-script/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no


# vim /etc/sysconfig/network-script/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no


# vim /etc/sysconfig/network-script/ifcfg-bond0
DEVICE=bond0
IPADDR=192.168.1.1
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
BONDING_OPTS=miimon=100 mode=1


  • 重啟網路
# /etc/init.d/network restart



3.Bond Mode:

0balance-rr‧負載平衡模式, 需有 switch 設定 (trunk) 支援才能發揮實質效果
‧具容錯功能, 其中一張 Slave 網卡失效仍可持續運作
1active-backup‧同一時間只有單一 Slave 網卡運作
‧Active Slave 網卡失效時自動啟用次一順位 Slave 網卡
‧不需 switch 支援
2balance-xorTransmit based on [(source MAC address XOR'd with destination MAC address) modulo slave count]. This selects the same slave for each destination MAC address. This mode provides load balancing and fault tolerance.
3broadcast‧所有 Slave 網卡一齊收送網路封包
‧具容錯功能, 其中一張 Slave 網卡失效仍可持續運作
4802.3adIEEE 802.3ad Dynamic link aggregation. Creates aggregation groups that share the same speed and duplex settings. Utilizes all slaves in the active aggregator according to the 802.3ad specification.

*Pre-requisites:

1. Ethtool support in the base drivers for retrieving the speed and duplex of each slave.

2. A switch that supports IEEE 802.3ad Dynamic link aggregation. Most switches will require some type of configuration to enable 802.3ad mode
此模式可以參考 http://phorum.study-area.org/index.php?topic=43051.0
5balance-tlb‧傳出自動負載平衡
‧傳入由 Current Active Slave 負責
‧具容錯功能, 其中一張 Slave 網卡失效仍可持續運作
‧不需 switch 支援及設定
6balance-alb‧傳出及傳入皆自動負載平衡
‧具容錯功能, 其中一張 Slave 網卡失效仍可持續運作
‧Slave 網卡 driver 需支援 setting hardware address 功能
‧不需 switch 支援及設定

2012年10月13日 星期六

NFS Export different LUN with parent directory

今天客戶遇到NFS server的奇怪問題,註記一下以免忘記
情境:
有兩個空間分別mount在/new與/new/2012並將/new nfs分享出去,client端使用指令將server的/new mount起來後,可以看到/new裡面有一個2012資料夾,但資料寫入卻是寫在/new那個空間

測試:
NFS server
1. NFS server 新增兩個硬碟空間,分別為/dev/vdb1,/dev/vdc1

# fdisk -l
….......
Disk /dev/vdb: 2147 MB, 2147483648 bytes
16 heads, 63 sectors/track, 4161 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8e79b1b7

  Device Boot      Start         End      Blocks   Id  System
/dev/vdb1               1        4161     2097112+  83  Linux

Disk /dev/vdc: 2147 MB, 2147483648 bytes
16 heads, 63 sectors/track, 4161 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x7c784fd8

  Device Boot      Start         End      Blocks   Id  System
/dev/vdc1               1        4161     2097112+  83  Linux


2. Server 建立Dir:/new 並將/dev/vdb1 mount 在/new
3. 在/new 目錄下建立2012目錄,修改權限後,mount /dev/vdc1 在/new/2012

   [root@node2 ~]# chmod -R 777 /new
[root@node2 ~]# ll /new
total 20
drwxrwxrwx. 3 777 root  4096 Sep 19 15:28 2012
drwxrwxrwx. 2 777 root 16384 Sep 19 14:29 lost+found
[root@node2 ~]# ll /new/2012/
total 16
drwxrwxrwx. 2 777 root 16384 Sep 19 14:29 lost+found
[root@node2 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root         5.5G  2.9G  2.4G  56% /
/dev/vdb1             2.0G   36M  1.9G   2% /new
/dev/vdc1             2.0G   35M  1.9G   2% /new/2012





4. # vi /etc/exports   加入
  /new     *(sync,rw)


5. # /etc/init.d/nfs restart      重啟nfs service
[root@node2 ~]# /etc/init.d/nfs restart
Shutting down NFS mountd:                                  [  OK  ]
Shutting down NFS daemon:                                  [  OK  ]
Shutting down NFS quotas:                                  [  OK  ]
Shutting down NFS services:                                [  OK  ]
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]



NFS client
1. # showmount -e “NFSserverIP”
2. # mount IP:/new /mnt
[root@solutions ~]# mount 172.16.1.136:/new /mnt
[root@solutions ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_soldtions-LogVol00                   97G   14G   78G  16% /
…...
172.16.1.136:/new     2.0G   35M  1.9G   2% /mnt


3. # ls -al /mnt
[root@solutions ~]# ls /mnt
2012  lost+found
  [root@solutions ~]#


4. # touch /mnt/2012/test    
5. # ls /mnt/2012   
[root@solutions ~]# touch /mnt/2012/test
[root@solutions ~]# ls /mnt/2012/test
/mnt/2012/test
[root@solutions ~]#


6. # ls -al /new/2012    回到NFS server檢查,發現檔案並沒產生
[root@node2 ~]# ls /new/2012/
lost+found
[root@node2 ~]#


7. # /etc/init.d/nfs stop
   # umount /new/2012          停掉NFS並umount /dev/vdc1
   # ls -al /new/2012             發現剛產生的檔案在這邊(dev/vdb1)
[root@node2 ~]# ls /new/2012/
lost+found
[root@node2 ~]# /etc/init.d/nfs stop
Shutting down NFS mountd:                                  [  OK                                     ]
Shutting down NFS daemon:                                  [  OK                                     ]
Shutting down NFS quotas:                                  [  OK                                     ]
Shutting down NFS services:                                [  OK                                     ]
[root@node2 ~]# umount /new/2012/

[root@node2 ~]# ls /new/2012/
test
[root@node2 ~]#


解決方法:(在/etc/exports裡面加上nohide & crossmnt兩個參數)
1. # vim /etc/exports
  /new     *(sync,rw,nohide,crossmnt)

2. # /etc/init.d/nfs start        重啟nfs 服務
3.到Client 將/new mount 起來後
  # echo `date` >  /mnt/2012/test2
  # ls -al /mnt/2012             應該會看到剛產生的檔案
[root@solutions ~]# mount 172.16.1.136:/new /mnt
[root@solutions ~]# echo `date` > /mnt/2012/test2
[root@solutions ~]# ls /mnt/2012/
lost+found  test2
[root@solutions ~]# cat /mnt/2012/test2
Wed Sep 19 15:57:00 CST 2012
[root@solutions ~]#


4. 到NFS server的 /new/2012/ 查看有無看到一樣的檔案
  # cat /new/2012/test2
  # df -h    確認mount point是想要的
[root@node2 ~]# cat /new/2012/
lost+found/ test2
[root@node2 ~]# cat /new/2012/test2
Wed Sep 19 15:57:00 CST 2012
[root@node2 ~]#


5.完工!!

2012年7月12日 星期四

Linux 透過proxy連外的設定方式

由於小弟的公司一定要透過proxy才能上網,所以一直在找系統proxy設定的方法

一 RHEL(Fedora,centos應該也差不多)
1.CMD方式
暫時生效
# export http_proxy=http://username:password@"Proxy IP":port
# export ftp_proxy=http://username:passord@"Proxy IP":port
//其中如果proxy server不須要帳密,就只要打http://"Proxy IP":port即可

永久生效
# vim ~/.bashrc   //將上面兩行export加入即可
# source ~/.bashrc

YUM更新
# vim /etc/yum.conf   //加入
proxy=http://username:passord@"Proxy IP":port

2.在Desktop上設定
選擇『系統』>『偏好設定』>『代理伺服器』
輸入IP跟port 如果需要帳密,點選詳細設定後輸入

2012年5月15日 星期二

Ubuntu 產生軟碟機映像檔給虛擬機使用,

最近Max因為工作用的軟體只能在XP上使用,且只能用軟碟機提供程式需要的Config
為了再虛擬機上產生軟碟機,試了很多方式,還是dd最簡單:

# cd /虛擬機所在目錄
# dd if=/dev/zero of=floppy.img bs=512 count=2880

再來到虛擬機設定中,產生新的軟碟控制器(如果已經有了就不需要新增),
然後將新增的floppy掛載上去













再來將XP重開機,就可以看到嚕


2011年5月21日 星期六

Linux備份工具-dump與restore實做

系統在怎麼穩定都會有掛的一天,所以平常就好做好備份策略,以往MAX通常都用tar來作備份,最近剛好客戶需要使用dump來備份,就來作個測試練習並記錄下來以免忘記

參考資料:鳥哥有一篇關於dump的介紹

環境準備:
利用虛擬軟體準備兩台Linux OS(我用的是CentOS5.2)
配置兩台一樣的環境,基本上我只設定以下三項:
項目A (Source)B (Target)
Mem512M512M
網卡一張一張
硬碟一顆8G,一顆5G一顆8G


測試步驟:
1. 先在虛機A上安裝CentOS5.2,硬碟分割如下
/boot  (/dev/sda1)100M
/  (dev/sda2)5G
swap  (dev/sda3)1G
/var  (/dev/VolGroup00/LogVol00)1G
/data  (/dev/VolGroup00/LogVol01)896M

前三個分割區切完後,我將剩餘的空間作成LVM並切成兩個partition,主要是要測試在LVM下的dump作法

2.安裝好OS並登入後,將另一顆5G的硬碟格式化為ext3並掛載起來
# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14         666     5245222+  83  Linux
/dev/sda3             667         797     1052257+  82  Linux swap / Solaris
/dev/sda4             798        1044     1984027+   5  Extended
/dev/sda5             798        1044     1983996   8e  Linux LVM

Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot      Start         End      Blocks   Id  System

# fdisk /dev/sdb   //分割成一個即可
#fdisk -l /dev/sdb
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         652     5237158+  83  Linux

#mkfs.ext3 /dev/sdb1
# mkdir /bakup          //目錄名稱自取
# mount /dev/sdb1 /bakup    //可寫到fstab,這邊只是測試就帶過
# df -h
檔案系統              容量  已用 可用 已用% 掛載點
/dev/sda2             4.9G  2.0G  2.7G  43% /
/dev/mapper/VolGroup00-LogVol00
                     992M   69M  873M   8% /var
/dev/mapper/VolGroup00-LogVol01
                     868M   17M  807M   3% /data
/dev/sda1              99M   11M   83M  12% /boot
tmpfs                 252M     0  252M   0% /dev/shm
/dev/sdb1             5.0G 139M  4.6G   3% /bakup

這個硬碟是用來放備份的資料的,所以要用nfs來分享給B到時要來還原用
# vim /etc/exports
/bakup 192.168.56.0/24(ro,sync)      //不了解的請參考鳥哥關於nfs的介紹

#/etc/init.d/nfs restart
#chkconfig nfs on

準備動作到此完成,可以開始備份嚕

2. 備份
#dump -0uf /bakup/root.dmp /     //其中0表示完整備份,如果1就是差異化備份
#dump -0uf /bakup/boot.dmp /boot
#dump -0uf /bakup/var.dmp /var
#dump -0uf /bakup/data.dmp /data

#dump -W    //檢查有無備份成功
Last dump(s) done (Dump '>' file systems):
 /dev/sda2    (     /) Last dump: Level 0, Date Tue Mar 15 09:07:11 2011
 /dev/mapper/VolGroup00-LogVol00    (  /var) Last dump: Level 0, Date Tue Mar 15 09:18:51 2011
 /dev/mapper/VolGroup00-LogVol01    ( /data) Last dump: Level 0, Date Tue Mar 15 09:20:55 2011
 /dev/sda1    ( /boot) Last dump: Level 0, Date Tue Mar 15 09:18:31 2011
 /dev/sdb1    (/bakup) Last dump: never

//會有最後一次備份的時間
//建議將fdisk -l,fstab,ifconfig,lvm內容都存一份起來,這樣在還原時可以比對
完成後準備用另一台還原,這種方法一般都是同機還原,但因為利用虛擬技術產出的硬體都一樣,所以可以簡單作到異機還原

3. 還原
在虛機B用CentOS光碟開機,並進入Rescue Mode   //不需安裝,直接用備份檔來作
# fdisk -l     //沒有安裝應該都是空的,根據虛機A的fdisk -l內容來作分割
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14         666     5245222+  83  Linux
/dev/sda3             667         797     1052257+  82  Linux swap / Solaris
/dev/sda4             798        1044     1984027+   5  Extended
/dev/sda5             798        1044     1983996   8e  Linux LVM


# mkfs.ext3 /dev/sda1
# mkfs.ext3 /dev/sda2
# mkswap /dev/sda3
製作LVM分割       //根據虛機A的LVM來作
# lvm pvcreate /dev/sda5
# lvm vgcreate VolGroup00 /dev/sda5
# lvm lvcreate -L 1G -n LogVol00 VolGroup00
# lvm lvcreate -L 896M -n LogVol01 VolGroup00
//盡可能建制的一樣,同機還原比較不會有不同的問題
# mkfs.ext3 /dev/VolGrup00/LogVol00
# mkfs.ext3 /dev/VolGrup00/LogVol01

建立一個mountpiont掛載nfs上的還原source
# mkdir /source
# mount -t nfs 192.168.56.101:/bakup /source   //這個ip是我的環境,每個人應該不同
作一個mountpoint來掛載”/”,並在裡面建立相對應的目錄來掛載其他devices
# mkdir /disk
# mount /dev/sda2 /disk
# cd /disk
# restore -rf root.dmp     //直接還原”/”,裡面會有其他應有的目錄,沒有的話要自己建立
還原完成後,依序進入/disk/boot,/disk/data,/disk/var 還原相對應的內容
# cd /disk/boot
# restore -rf boot.dmp
# cd /disk/var
# restore -rf var.dmp
# cd /dev/datadc
# restore -rf data.dmp
根據虛機A的fstab去設定devices正確資訊,主要是label要對
# e2label /dev/sda1 /boot
# e2label /dev/sda2 /
swap的label我不會設定,乾脆把fstab改掉
# vi /disk/etc/fstab


4. 安裝GRUB
# grub
grub> root (hd0,0)     //這個數值請自己參考正確位置
grub> setup (hd0)
grub> setup (hd0,0)

5. 將光碟取出用硬碟重開機應該就可以嚕