2015年3月

iSCSI 发起程序是一种用于同 iSCSI 目标器认证并访问服务器上共享的LUN的客户端。我们可以在本地挂载的硬盘上部署任何操作系统,只需要安装一个包来与目标器验证。

Client Initiator Setup

初始器客户端设置

功能

  • 可以处理本地挂载磁盘上的任意文件系统
  • 在使用fdisk命令分区后不需要重启系统

前置阅读

我的客户端设置

  • 操作系统 – CentOS 6.5 (Final)
  • iSCSI 目标器 IP – 192.168.0.50
  • 使用的端口 : TCP 3260

警告:永远不要在LUN还挂载在客户端(发起程序)时停止服务。

客户端设置

1. 在客户端,我们需要安装包‘iSCSI-initiator-utils’,用下面的命令搜索包。

# yum search iscsi

示例输出

============================= N/S Matched: iscsi ================================
iscsi-initiator-utils.x86_64 : iSCSI daemon and utility programs
iscsi-initiator-utils-devel.x86_64 : Development files for iscsi-initiator-utils

2. 找到了包,就用下面的yum命令安装初始化包。

# yum install iscsi-initiator-utils.x86_64

3. 安装完毕后,我们需要发现目标器上的共享。客户端的命令有点难记,因此我们使用man找到需要运行的命令列表。

# man iscsiadm

man iscsiadm

man iscsiadm

4. 按下SHIFT+G 进入man页的底部并且稍微向上滚动找到示例的登录命令。下面的发现命令中,需要用我们的服务器IP地址来替换。

# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.0.200 --discover

5. 这里我们从下面的命令输出中找到了iSCSI的限定名(iqn)。

192.168.0.200:3260,1 iqn.2014-07.com.tecmint:tgt1

Discover Target

发现服务器

6. 要登录就用下面的命令来连接一台LUN到我们本地系统中,这会与服务器验证并允许我们登录LUN。

# iscsiadm --mode node --targetname iqn.2014-07.com.tecmint:tgt1 --portal 192.168.0.200:3260 --login

Login To Target Server

登录到服务器

注意:登出使用登录命令并在命令的最后使用logout来替换。

# iscsiadm --mode node --targetname iqn.2014-07.com.tecmint:tgt1 --portal 192.168.0.200:3260 --logout

Logout from Target Server

登出服务器

7. 登录服务器后,使用下面的命令列出节点的记录行。

# iscsiadm --mode node

List Node

列出节点

8. 显示特定节点的所有数据

# iscsiadm --mode node --targetname iqn.2014-07.com.tecmint:tgt1 --portal 192.168.0.200:3260

示例输出

# BEGIN RECORD 6.2.0-873.10.el6
node.name = iqn.2014-07.com.tecmint:tgt1
node.tpgt = 1
node.startup = automatic
node.leading_login = No
iface.hwaddress = <empty>
iface.ipaddress = <empty>
iface.iscsi_ifacename = default
iface.net_ifacename = <empty>
iface.transport_name = tcp
iface.initiatorname = <empty>
iface.bootproto = <empty>
iface.subnet_mask = <empty>
iface.gateway = <empty>
iface.ipv6_autocfg = <empty>
iface.linklocal_autocfg = <empty>
....

9. 接着列出使用的磁盘,fdisk会列出所有的登录认证过的磁盘。

# fdisk -l /dev/sda

List Disks

列出磁盘

10. 运行fdisk命令来创建一个新的分区

# fdisk -cu /dev/sda

Create New Partition

创建新分区

注意:在使用fdisk创建新分区之后,我们无需重启,就像使用我们本地的文件系统一样就行。因为这个将远程共享存储挂载到本地了。

11. 格式化新创建的分区

# mkfs.ext4 /dev/sda1

Format New Partition

格式化新分区

12. 创建一个目录来挂载新创建的分区

# mkdir /mnt/iscsi_share
# mount /dev/sda1 /mnt/iscsi_share/
# ls -l /mnt/iscsi_share/

Mount New Partition

挂载新分区

13. 列出挂载点

# df -Th
  • -T – 输出文件系统类型
  • -h – 以易读的方式显示大小

List New Partition

列出新分区

14. 如果需要永久挂载,使用fstab文件

# vim /etc/fstab

15.在fstab后追加下面行

/dev/sda1  /mnt/iscsi_share/   ext4    defaults,_netdev   0 0

注意: 在fstab中使用\_netdev,说明这是一个网络设备。

Auto Mount Partition

自动挂载分区

16. 最后检查我们fstab文件是否有错误。

# mount -av
  • -a – 所有挂载点
  • -v – 冗余模式

Verify fstab Entries

验证fstab文件

我们已经成功完成了我们的客户端配置。现在让我们像本地磁盘一样使用它吧。


via: http://www.tecmint.com/iscsi-initiator-client-setup/

作者:Babin Lonston 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

近日,Linux中国与“实验楼”整合双方优势资源,合作成立“Linux中国实验室”,共同开创新型学习模式,让用户可以边看技术文章边动手实践。

Linux中国是一家创立于2003年的国内开源社区,一直专注于中文Linux技术、资讯。随着本次合作的落地,Linux中国也成为国内首家为IT技术文章搭配在线实践环境的技术社区。

实验楼是一家拥有丰富的计算机实验课程的IT在线实训平台,已涵盖了Linux、Python、C、Java、PHP等主要的IT技术领域,而且可以为用户提供编程、运维、测试、云计算、大数据等全面的在线实践环境。

本次实验楼将为Linux中国网站上的技术文章提供配套的在线实验环境,目前已上线Ubuntu14.04、Ubuntu Server、CentOS 6、CentOS 7四种最常见的在线linux系统。

用户在阅读文章时,可以点击文章右侧相应系统的实验环境按钮,登录实验楼后即直接进入一个完整的在线linux环境,可以在该环境中体验文章中涉及的新技术、新攻略,通过动手实践的方式来学习技术文章的真正精髓。省去了用户在本地安装linux系统的麻烦,让用户方便快速的深入学习技术,更好的提高了学习效率。

此外,Linux中国在实验楼网站同步开设了“Linux中国实验室”,把热门linux技术整理成攻略化的教程,通过实验楼的平台分享给更多的技术学习者。

Linux中国实验室地址:http://www.shiyanlou.com/teachers/25536

相信本次合作一定会推动Linux技术在国内更快、更好的发展,如果您对“Linux中国实验室”有任何建议,请在下方评论区给我们留言,您的宝贵意见是我们进步的动力。

如果你使用 Ubuntu 或基于 Ubuntu 的 Linux 发行版本,比如Elementary OS Freya,也许你使用 Ubuntu 软件中心来安装.deb 可执行文件。对于查找和安装应用,Ubuntu 软件中心是一个很好的应用,但它会消耗很多资源且运行速度缓慢。这就是为什么我更偏爱使用 一个 Ubuntu 软件中心的轻量级替代品—App Grid 的原因。

现在,假如你只是尝试安装一个 .deb 文件,我不会向你推荐 Ubuntu 软件中心或 App Grid ,我的建议为 GDebi,一个安装 Debian 可执行文件的专用程序。它极其轻量,且专注于安装 .deb 文件。GDebi 最有用的功能是它也可以为你展示出将要安装的程序的依赖。

在这篇文章中,我们将看一看 如何安装 GDebi 以及使用它代替 Ubuntu 软件中心作为默认的安装器

在 Ubuntu 和其他 Linux 发行版本中安装 GDebi

打开终端并使用下面的命令:

sudo apt-get install gdebi

使得 GDebi 成为默认的 .deb包安装器

一旦你安装了 GDebi,就是时候来看看如何使它成为安装 .deb 文件的默认应用了。请读者注意在这篇教程中我使用的是 Elementary OS Freya ,但下面的步骤对于所有基于 Ubuntu 的发行版本都是适用的。可能截屏显示会有点不同。

首先下载一个 .deb文件。例如你已经下载了一个 Google Chrome 的 .deb包。进入下载目录并右击该 .deb文件。在这里,接着选择 属性选项。

在属性中,你应该可以看到 打开方式 选项。点击它并选择为 GDebi。

这样下次你双击一个 .deb 文件,便会自动打开 GDebi 来安装这个.deb 文件。使用这样轻量级的应用的确是一个加速 Ubuntu 或其他 Linux 系统的好方法。

你怎么看呢?对于安装应用,你仍然偏爱 Ubuntu 软件中心还是 GDebi 呢?如果你是一个守旧派,也许你更喜欢 新立得软件包管理器(Synaptic Package Manager)?那么,哪一个是你的最爱?


via: http://itsfoss.com/gdebi-default-ubuntu-software-center/

作者:Abhishek 译者:FSSlc 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

LUN是逻辑单元号,它与iSCSI存储服务器共享。iSCSI 目标器通过TCP/IP网络共享它的物理驱动器给发起程序(initiator)。这些来自一个大型存储(SAN:Storage Area Network)的驱动器集合称作LUN。在真实环境中LUN是在LVM中定义的,因为它可以按需扩展。

Create LUNS using LVM in Target Server

在目标器中使用 LVM 创建 LUN

为什么使用LUN?

LUN用于存储,SAN存储大多数由LUN的集群来组成存储池,LUN由目标器的几块物理驱动器组成。我们可以使用LUN作为系统物理驱动器来安装操作系统,LUN可以用在集群、虚拟服务器、SAN中。在虚拟服务器中使用LUN的主要用途是作为操作系统的存储。LUN的性能和可靠性根据在创建目标存储服务器时所使用的驱动器决定。

前置阅读

要了解创建iSCSI 目标器,点击下面的链接。

主服务器设置

系统信息和网络设置部分与前文的iSCSI 目标器相同 - 我们在相同的服务器上定义LUN。

  • 操作系统 – CentOS 6.5 (Final)
  • iSCSI 目标器 IP – 192.168.0.200
  • 使用的端口 : TCP 860, 3260
  • 配置文件 : /etc/tgt/targets.conf

在iSCSI 目标器使用LVM创建LUN

首先,用fdisk -l命令找出驱动器的列表,这会列出系统中所有分区的列表。

# fdisk -l

上面的命令只会给出基本系统的驱动器信息。为了得到存储设备的信息,使用下面的命令来得到存储设备的列表。

# fdisk -l /dev/vda && fdisk -l /dev/sda

List Storage Drives

列出存储设备

注意:这里vda是虚拟机硬盘,因为我使用的是虚拟机来用于演示,/dev/sda 是额外加入的存储。

第一步: 创建用于LUN的LVM驱动器

我们使用/dev/sda驱动器来创建LVM。

# fdisk -l /dev/sda

List LVM Drive

列出LVM驱动器

现在让我们使用如下fdisk命令列出驱动器分区。

# fdisk -cu /dev/sda
  • 选项 ‘-c’ 关闭DOS兼容模式。
  • 选项 ‘-u’ 用于列出分区表时给出扇区而不是柱面的大小。

使用n创建新的分区。

Command (m for help): n

使用p创建主分区。

Command action
   e   extended
   p   primary partition (1-4)

给我们创建的分区一个分区号。

Partition number (1-4): 1

到这里,我们就要设置LVM驱动器了。因此,我们需要使用默认的设置来使用整个驱动器。

First sector (2048-37748735, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-37748735, default 37748735): 
Using default value 37748735

选择分区的类型,这里我们要设置LVM,因此使用8e。使用l列出所有的类型。

Command (m for help): t

选择想要改变类型的分区。

Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

在改变完类型之后,通过打印(p)选项来列出分区表。

Command (m for help): p

Disk /dev/sda: 19.3 GB, 19327352832 bytes
255 heads, 63 sectors/track, 2349 cylinders, total 37748736 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x9fae99c8

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048    37748735    18873344   8e  Linux LVM

使用w写入设置并退出fdisk工具,重启系统使设置生效。

作为参考,我下面附上了截图来给你在创建LVM驱动器时一个明确的指导。

Create LVM Partition

创建LVM分区

系统重启后,使用fdisk命令列出分区表。

# fdisk -l /dev/sda

Verify LVM Partition

验证LVM分区

第二步: 为LUN创建逻辑卷

现在我们使用‘pvcreate’命令创建物理卷。

# pvcreate /dev/sda1

用iSCSI的名字创建卷组来区分这个卷组。

# vgcreate vg_iscsi /dev/sda1

这里我定义了4个逻辑卷,因此在我的iSCSI target上就会有4个LUN。

# lvcreate -L 4G -n lv_iscsi vg_iscsi
# lvcreate -L 4G -n lv_iscsi-1 vg_iscsi
# lvcreate -L 4G -n lv_iscsi-2 vg_iscsi
# lvcreate -L 4G -n lv_iscsi-3 vg_iscsi

列出物理卷、卷组和逻辑卷确定。

# pvs && vgs && lvs
# lvs

为了更好地理解上面的命令,我在下面包含了截图作为参考。

Creating LVM Logical Volumes

创建LVM逻辑卷

Verify LVM Logical Volumes

验证LVM逻辑卷

第三步: 在目标器中定义LUN

我们已经创建了逻辑卷并准备使用LUN,现在我们在目标器配置中定义LUN,只有这样做它才能用在客户机中(发起程序)。

用你选择的编辑器打开位于‘/etc/tgt/targets.conf’的目标器配置文件。

# vim /etc/tgt/targets.conf

追加下面的target配置文件中的定义。保存并关闭文件。

<target iqn.2014-07.com.tecmint:tgt1>
       backing-store /dev/vg_iscsi/lv_iscsi
</target>
<target iqn.2014-07.com.tecmint:tgt1>
       backing-store /dev/vg_iscsi/lv_iscsi-1
</target>
<target iqn.2014-07.com.tecmint:tgt1>
       backing-store /dev/vg_iscsi/lv_iscsi-2
</target>
<target iqn.2014-07.com.tecmint:tgt1>
       backing-store /dev/vg_iscsi/lv_iscsi-3
</target

Configure LUNs in Target Server

在target中配置LUN

上图的解释:

  1. iSCSI 采取限定名 (iqn.2014-07.com.tecmint:tgt1).
  2. 名称随便你
  3. 用于确定目标名, 这是这台服务器中的第一个目标
  4. LVM共享特定的LUN。

接下来使用下面的命令重载tgd服务配置。

# /etc/init.d/tgtd reload

Reload Configuration

重载配置

接下来使用下面的命令验证可用的LUN。

# tgtadm --mode target --op show

List Available LUNs

列出可用LUN

LUNs Information

LUN信息

上面的命令会列出可用LUN的下面这些信息

  1. iSCSI 限定名
  2. iSCSI 已经准备好
  3. 默认LUN 0被控制器所保留
  4. LUN 1是我们定义的目标器
  5. 这里我为每个LUN都定义了4GB
  6. 在线: 是的,这就是可以使用的LUN

现在我们已经使用LVM为目标器定义了LUN,这可扩展并且支持很多特性,如快照。我们将会在第三部分了解如何用目标器授权,并且本地挂载远程存储。


via: http://www.tecmint.com/create-luns-using-lvm-in-iscsi-target/

作者:Babin Lonston 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Xfce 4.12 经过漫长的等待终于发布了,这里向您介绍一下 Xfce 4.12的主要新特性,这里只介绍了外在的一些改进,完整的改进列表请参见 changelogs

窗口管理器 (xfwm4)

窗口切换器对话框

窗口管理器的 Alt + Tab 对话框现已全面更换主题,还增加了两个新的模式: 列表模式和窗口预览模式。此外用户可以使用鼠标点击选择想要切换的窗口。

tabwin-simple-crop

传统的对话框现已更换全新主题

tabwin-list-crop

列表模式会显示全部窗口的标题

tabwin-preview-crop

缩略图模式

窗口预览模式会以窗口内容的缩略图及其图标显示。这种模式需要先激活 compositor。

拼接、缩放和客户端装饰

对客户端装饰 (CSDs) 的支持进行了改进。现在可以正确的对齐桌面和面板的边框,窗口的完美拼接,甚至包括了阴影。

xfwm4-csd

Gtk3 应用及其装饰由客户端进行绘制

xfwm4-tiling-small

将窗口拖放到角落以拼接它

改进了窗口拼接模式,支持角落拼接。可以使用 Alt + 鼠标滚轮来缩放窗口。

HiDPI 支持

为了更好的支持高分屏,增加了两个新的主题(hdpi, xhdpi)。

面板 (xfce4-panel)

智能隐藏

当窗口拖放到面板附近时,面板会智能隐藏。

panel-shown

厄?这窗口是干嘛的?!

panel-shown-stack

别离我这么近!

panel-hidden

哈!这下你看不见我了吧!

Gtk3 插件

增加了 Gtk3 插件的支持。

桌面管理器 (xfdesktop)

新的壁纸设置对话框有许多新选项,对多显示器支持更好。要修改哪个显示器或工作空间的墙纸,只需要将壁纸设置对话框拖到那里即可。

xfdesktop-properties-multiworkspace

更好的多显示器支持

在设置对话框里面(xfce4-settings)不勾选“应用到全部工作空间”就可以为每个工作空间设置不同的墙纸。

设置 (xfce4-settings)

显示设置

在显示设置对话框里面对多显示器的支持大为改进。当连接了一个新的显示器时,就会弹出一个快速设置对话框来设置一些常用模式。

xfce4-display-settings-twoscreens

配置多显示器

xfce4-display-layout

选择新显示器的使用方式

外观设置

外观设置对话框现在展示了风格和图标的预览。

xfce4-appearance-settings-style

Gtk 风格预览

xfce4-appearance-settings-icons

图标主题预览

电源管理 (xfce4-power-manager)

面板插件

有一个新的面板插件可以让你通过菜单或在插件上使用鼠标滚轮来快速调整屏幕亮度。这个插件的菜单也会展示其它已连接设备的电源状态,比如蓝牙键盘、无线鼠标。通过它还可以快速切换到演示模式下,在这种模式下会关闭屏幕保护。

xfpm-plugin-crop

在该插件的菜单上可以控制屏幕亮度和查看电池可用时长

设置对话框

设置对话框完全重构了(在系统和显示的操作里面分离了电源按钮和笔记本盖子两种动作),设置更加清晰。

xfpm-prefs-general

可以分别设置按下电源按钮和合上笔记本盖子时所采取的操作

xfpm-prefs-system

配置用户长久不操作或电池快用尽时的操作

xfpm-prefs-devices

显示所有已连接设备的信息

xfpm-prefs-display

显示器的电源管理

如果支持轻度锁定,你可以通过电源管理器来直接控制轻度锁定设置。

xfpm-prefs-security

设置轻度锁定

文件管理器 (thunar)

支持选项卡

一个等了很久的功能:现在你可以在一个 Thunar 窗口里面打开多个文件夹。

thunar-tabs

浏览多个文件夹

Thunar 现在可以在文件夹属性对话框里面以条形图显示该文件夹的可用空间比例。

thunar-freespace

可用空间条

你也可以选择多个文件一起查看其属性。

thunar-multifiles-props

多文件属性

应用

应用进行了许多改进,也增加一些新贡献者开发的崭新应用。

又一个面板菜单插件(xfce4-whiskermenu)

whisker 菜单是传统菜单插件的一个替代品,它可以显示收藏、搜索应用等等。

whiskermenu-default

按类别浏览

whiskermenu-search

搜索应用

任务管理器 (xfce4-taskmanager)

任务管理器的用户界面修改了,增加了一个过滤器,也支持 Gtk3了。

taskman-tree

以树形显示进程

taskman-filter

按进程名筛选

媒体播放器 (parole)

Parole 的 UI 已经用 Gtk3 重新开发。现在支持多种视频后端,可以更有效的使用系统资源,包含了一些新的插件。

parole

观看视频

媒体控制现在覆盖在窗口边缘(可以配置隐藏超时)。

parole-audio

听歌

文本编辑器 (mousepad)

Mousepad 整个重写了,有了一个设置对话框,支持 Gtk3。

mousepad-prefs

新的 mousepad 设置对话框

你觉得 Xfce 4.12 怎么样呢?想要试试么?

请在这里下载:

欢迎发表您的体验和观点。

Linux终端窗口

这是一个篇幅不长但是十分有用的教程,可以帮助你在终端启动一个Linux应用程序,并且使终端窗口不会丢失焦点。

我们有很多可以在Linux系统中打开一个终端窗口的方法,这取决于你的选择以及你的桌面环境。

如果是使用Ubuntu的话,你可以利用CTRL+ALT+T组合键打开终端。当然你也可以使用超级键(Windows键)打开Dash,搜索“TERM”,然后点击“Term”图标来打开终端窗口。

对于其他的桌面环境来说,例如XFCE、KDE、LXDE、Cinnamon以及MATE,你可以在菜单中找到终端。有些环境会在停靠栏或者面板上面包含终端图标。

通常情况下,你可以在终端里面直接输入应用程序名来启动一个应用程序。比如说,你可以通过输入“firefox”来启动Firefox。

在终端启动应用程序的好处是,你可以包含一些额外的参数。

例如,你可以通过下列命令来打开一个Firefox浏览窗口,然后利用默认的搜索引擎搜索相关信息:

firefox -search "linux.cn"

你可能会注意到,如果你启动Firefox,程序打开以后,回到了终端窗口控制,这就意味着你可以继续在终端进行工作。

通常情况下,如果你在终端启动了应用程序,控制会切换到新启动的应用程序,只有程序被关闭以后才会重新切换到终端控制。这是因为你在前台启动了这个程序。

如果要在Linux终端打开应用程序并且返回终端控制,那么你需要将应用程序启动为后台进程。

和下面所列的命令一样,我们可以通过增加一个(&)符号,将应用程序在后台启动。

libreoffice &

译者注:如果需要加参数的话,记得把&符号放在最后。

译者注:一般情况下,关闭终端时,在这个终端启动的后台程序也会被终止,要使终端关闭以后,后台程序依然保持执行可以使用下列命令

nohup command [arg...] &

如果应用程序目录没有安装在PATH变量包含的目录里面的话,我们就没有办法直接通过应用程序名来启动程序,必须输入应用程序的整个路径来启动它。

/path/to/yourprogram &

如果你不确定程序输入哪个Linux目录结构的话,可以使用find或者location命令来定位它。

可以输入下列符号来找到一个文件:

find /path/to/start/from -name programname

例如,你可以输入下列命令来找到Firefox:

find / -name firefox

命令运行的结果会嗖的一下输出一大堆,别担心,你也可以通过less或者more来进行分页查看。

find / -name firefox | more

find / -name firefox | less

当find命令查找到没有权限访问的文件夹时,会报出一条拒绝访问错误,

你可以通过sudo命令来提示权限。当然,如果你没有安装sudo的话,就只能切换到一个拥有权限的用户了。

sudo find / -name firefox | more

如果你知道你要查找的文件在你的当前目录结构中,那么你可以使用点来代替斜杠:

sudo find . -name firefox | more

你可能需要sudo来提升权限,也可能根本就不需要,如果这个文件在你的主目录里面,那么就不需要使用sudo。

有些应用程序则必须要提升权限才能运行,否则你就会得到一大堆拒绝访问错误,除非你使用一个具有权限的用户或者使用sudo提升权限。

这里有个小窍门。如果你运行了一个程序,但是它需要提升权限来操作,输入下面命令试试:

sudo !!

via : http://linux.about.com/od/commands/fl/How-To-Run-Linux-Programs-From-The-Terminal-In-Background-Mode.htm

作者:Gary Newell 译者:zhouj-sh 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出